[grilo-plugins] meson: include optional dependencies



commit a0375addf5e139e0a1a6e7d79a99dba35a45ae18
Author: Victor Toso <me victortoso com>
Date:   Tue Feb 14 10:24:20 2017 +0100

    meson: include optional dependencies
    
    Optional dependencies are being checked but not included in each
    plugin and this patch aims to fix that.
    
    Renamed DEPS to REQ_DEPS to make clear distinction with newly included
    OPT_DEPS. The meson.build file for each plugin was updated for
    completeness.
    
    Signed-off-by: Victor Toso <victortoso redhat com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778596

 meson.build                         |   57 +++++++++++++++++++----------------
 src/bookmarks/meson.build           |    2 +-
 src/chromaprint/meson.build         |    2 +-
 src/dleyna/meson.build              |    2 +-
 src/dmap/meson.build                |    4 +-
 src/filesystem/meson.build          |    2 +-
 src/flickr/meson.build              |    2 +-
 src/freebox/meson.build             |    2 +-
 src/gravatar/meson.build            |    2 +-
 src/jamendo/meson.build             |    2 +-
 src/local-metadata/meson.build      |    2 +-
 src/lua-factory/meson.build         |    2 +-
 src/lua-factory/sources/meson.build |    2 +-
 src/magnatune/meson.build           |    2 +-
 src/metadata-store/meson.build      |    2 +-
 src/opensubtitles/meson.build       |    2 +-
 src/optical-media/meson.build       |    2 +-
 src/podcasts/meson.build            |    2 +-
 src/raitv/meson.build               |    2 +-
 src/shoutcast/meson.build           |    2 +-
 src/thetvdb/meson.build             |    2 +-
 src/tmdb/meson.build                |    2 +-
 src/tracker/meson.build             |    2 +-
 src/vimeo/meson.build               |    2 +-
 src/youtube/meson.build             |    2 +-
 25 files changed, 56 insertions(+), 51 deletions(-)
---
diff --git a/meson.build b/meson.build
index d8a8801..d9092ae 100644
--- a/meson.build
+++ b/meson.build
@@ -72,33 +72,38 @@ cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
 cdata.set_quoted('LOCALEDIR', localedir)
 cdata.set_quoted('VERSION', plugin_version)
 
+# Defines for optional dependencies
+cdata.set('GOA_ENABLED', goa_dep.found())
+cdata.set('HAVE_TOTEM_PLPARSER_MINI', totem_plparser_mini_dep.found())
+
 NAME = 0
-DEPS = 1
-
-plugins = [ # NAME, DEPS
-    ['bookmarks', [gio_dep, libxml_dep, gom_dep]],
-    ['chromaprint', [gstreamer_dep]],
-    ['dleyna', [gio_dep, gio_unix_dep, libsoup_dep]],
-    ['dmap', [libdmapsharing_dep, libxml_dep]],
-    ['filesystem', [grilo_pls_dep]],
-    ['flickr', [grilo_net_dep, libxml_dep, oauth_dep]],
-    ['freebox', [grilo_pls_dep, avahi_client_dep, avahi_glib_dep, avahi_gobject_dep]],
-    ['gravatar', []],
-    ['jamendo', [grilo_net_dep, libxml_dep]],
-    ['local-metadata', [gio_dep, libmediaart_dep]],
-    ['lua-factory', [lua_dep, libarchive_dep, grilo_net_dep, json_glib_dep, libxml_dep]],
-    ['magnatune', [sqlite3_dep, grilo_net_dep]],
-    ['metadata-store', [sqlite3_dep]],
-    ['opensubtitles', [gio_dep, libsoup_dep]],
-    ['optical-media', [totem_plparser_dep]],
-    ['podcasts', [grilo_net_dep, libxml_dep, sqlite3_dep, gmime_dep]],
-    ['raitv', [grilo_net_dep, libxml_dep]],
-    ['shoutcast', [grilo_net_dep, libxml_dep]],
-    ['thetvdb', [grilo_net_dep, libxml_dep, libarchive_dep, gom_dep]],
-    ['tmdb', [json_glib_dep, libsoup_dep, grilo_net_dep]],
-    ['tracker', [tracker_sparql_dep]],
-    ['vimeo', [grilo_net_dep, libxml_dep, totem_plparser_dep]],
-    ['youtube', [grilo_net_dep, libxml_dep, libgdata_dep, totem_plparser_dep]],
+REQ_DEPS = 1
+OPT_DEPS = 2
+
+plugins = [ # NAME, REQ_DEPS, OPT_DEPS
+    ['bookmarks', [gio_dep, libxml_dep, gom_dep], []],
+    ['chromaprint', [gstreamer_dep], []],
+    ['dleyna', [gio_dep, gio_unix_dep, libsoup_dep], []],
+    ['dmap', [libdmapsharing_dep, libxml_dep], []],
+    ['filesystem', [grilo_pls_dep], []],
+    ['flickr', [grilo_net_dep, libxml_dep, oauth_dep], [goa_dep]],
+    ['freebox', [grilo_pls_dep, avahi_client_dep, avahi_glib_dep, avahi_gobject_dep], []],
+    ['gravatar', [], []],
+    ['jamendo', [grilo_net_dep, libxml_dep], []],
+    ['local-metadata', [gio_dep, libmediaart_dep], []],
+    ['lua-factory', [lua_dep, libarchive_dep, grilo_net_dep, json_glib_dep, libxml_dep], [goa_dep, 
totem_plparser_mini_dep]],
+    ['magnatune', [sqlite3_dep, grilo_net_dep], []],
+    ['metadata-store', [sqlite3_dep], []],
+    ['opensubtitles', [gio_dep, libsoup_dep], []],
+    ['optical-media', [totem_plparser_dep], []],
+    ['podcasts', [grilo_net_dep, libxml_dep, sqlite3_dep, gmime_dep], []],
+    ['raitv', [grilo_net_dep, libxml_dep], []],
+    ['shoutcast', [grilo_net_dep, libxml_dep], []],
+    ['thetvdb', [grilo_net_dep, libxml_dep, libarchive_dep, gom_dep], []],
+    ['tmdb', [json_glib_dep, libsoup_dep, grilo_net_dep], []],
+    ['tracker', [tracker_sparql_dep], []],
+    ['vimeo', [grilo_net_dep, libxml_dep, totem_plparser_dep], []],
+    ['youtube', [grilo_net_dep, libxml_dep, libgdata_dep, totem_plparser_dep], []],
 ]
 
 idx = 0
@@ -108,7 +113,7 @@ foreach p: plugins
     varname_idx = varname + '_idx'
 
     current_enabled = get_option('enable-' + p[NAME]) == 'no' ? false : true
-    current_deps = p[DEPS]
+    current_deps = p[REQ_DEPS]
     if current_enabled
         current_auto = get_option('enable-'+ p[NAME]) == 'auto'
         foreach d: current_deps
diff --git a/src/bookmarks/meson.build b/src/bookmarks/meson.build
index 43f38cc..36cb053 100644
--- a/src/bookmarks/meson.build
+++ b/src/bookmarks/meson.build
@@ -19,7 +19,7 @@ shared_library('grlbookmarks',
     sources: bookmarks_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[bookmarks_idx][DEPS],
+    dependencies: must_deps + plugins[bookmarks_idx][REQ_DEPS] + plugins[bookmarks_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlBookmarks"',
         '-DHAVE_CONFIG_H',
diff --git a/src/chromaprint/meson.build b/src/chromaprint/meson.build
index d9a69b5..ed72718 100644
--- a/src/chromaprint/meson.build
+++ b/src/chromaprint/meson.build
@@ -17,7 +17,7 @@ shared_library('grlchromaprint',
     sources: chromaprint_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[chromaprint_idx][DEPS],
+    dependencies: must_deps + plugins[chromaprint_idx][REQ_DEPS] + plugins[chromaprint_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlChromaprint"',
         '-DHAVE_CONFIG_H',
diff --git a/src/dleyna/meson.build b/src/dleyna/meson.build
index 6e24b37..06c3f8c 100644
--- a/src/dleyna/meson.build
+++ b/src/dleyna/meson.build
@@ -39,7 +39,7 @@ shared_library('grldleyna',
     sources: dleyna_sources + [dleyna_proxy_mediaserver2,  dleyna_proxy_manager, dleyna_proxy_mediadevice],
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[dleyna_idx][DEPS],
+    dependencies: must_deps + plugins[dleyna_idx][REQ_DEPS] + plugins[dleyna_idx][OPT_DEPS],
     include_directories: include_directories([
         meson.build_root(),
     ]),
diff --git a/src/dmap/meson.build b/src/dmap/meson.build
index 66b4aa8..3fbef22 100644
--- a/src/dmap/meson.build
+++ b/src/dmap/meson.build
@@ -38,7 +38,7 @@ shared_library('grldaap',
     sources: daap_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[dmap_idx][DEPS],
+    dependencies: must_deps + plugins[dmap_idx][REQ_DEPS] + plugins[dmap_idx][OPT_DEPS],
     c_args: [
         '-DDAAP_PLUGIN_ID=DMAP_PLUGIN_ID',
         '-DG_LOG_DOMAIN="GrlDmap"',
@@ -52,7 +52,7 @@ shared_library('grldpap',
     sources: dpap_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[dmap_idx][DEPS],
+    dependencies: must_deps + plugins[dmap_idx][REQ_DEPS] + plugins[dmap_idx][OPT_DEPS],
     c_args: [
         '-DDPAP_PLUGIN_ID=DMAP_PLUGIN_ID',
         '-DG_LOG_DOMAIN="GrlDmap"',
diff --git a/src/filesystem/meson.build b/src/filesystem/meson.build
index 0e7aeec..43fbc5d 100644
--- a/src/filesystem/meson.build
+++ b/src/filesystem/meson.build
@@ -17,7 +17,7 @@ shared_library('grlfilesystem',
     sources: filesystem_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[filesystem_idx][DEPS],
+    dependencies: must_deps + plugins[filesystem_idx][REQ_DEPS] + plugins[filesystem_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlFilesystem"',
         '-DHAVE_CONFIG_H',
diff --git a/src/flickr/meson.build b/src/flickr/meson.build
index fd38cd5..205d1fd 100644
--- a/src/flickr/meson.build
+++ b/src/flickr/meson.build
@@ -21,7 +21,7 @@ shared_library('grlflickr',
     sources: flickr_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[flickr_idx][DEPS],
+    dependencies: must_deps + plugins[flickr_idx][REQ_DEPS] + plugins[flickr_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlFlickr"',
         '-DHAVE_CONFIG_H',
diff --git a/src/freebox/meson.build b/src/freebox/meson.build
index 744ffe7..309c782 100644
--- a/src/freebox/meson.build
+++ b/src/freebox/meson.build
@@ -23,7 +23,7 @@ shared_library('grlfreebox',
     sources: freebox_sources + freebox_resources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[freebox_idx][DEPS],
+    dependencies: must_deps + plugins[freebox_idx][REQ_DEPS] + plugins[freebox_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlFreebox"',
         '-DHAVE_CONFIG_H',
diff --git a/src/gravatar/meson.build b/src/gravatar/meson.build
index f016680..610b011 100644
--- a/src/gravatar/meson.build
+++ b/src/gravatar/meson.build
@@ -17,7 +17,7 @@ shared_library('grlgravatar',
     sources: gravatar_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[gravatar_idx][DEPS],
+    dependencies: must_deps + plugins[gravatar_idx][REQ_DEPS] + plugins[gravatar_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlGravatar"',
         '-DHAVE_CONFIG_H',
diff --git a/src/jamendo/meson.build b/src/jamendo/meson.build
index b774f80..be9863e 100644
--- a/src/jamendo/meson.build
+++ b/src/jamendo/meson.build
@@ -17,7 +17,7 @@ shared_library('grljamendo',
     sources: jamendo_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[jamendo_idx][DEPS],
+    dependencies: must_deps + plugins[jamendo_idx][REQ_DEPS] + plugins[jamendo_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlJamendo"',
         '-DHAVE_CONFIG_H',
diff --git a/src/local-metadata/meson.build b/src/local-metadata/meson.build
index 84bb412..1ad0d15 100644
--- a/src/local-metadata/meson.build
+++ b/src/local-metadata/meson.build
@@ -17,7 +17,7 @@ shared_library('grllocalmetadata',
     sources: local_metadata_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[local_metadata_idx][DEPS],
+    dependencies: must_deps + plugins[local_metadata_idx][REQ_DEPS] + plugins[local_metadata_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlLocalMetadata"',
         '-DHAVE_CONFIG_H',
diff --git a/src/lua-factory/meson.build b/src/lua-factory/meson.build
index 7afaa15..8ad9bb3 100644
--- a/src/lua-factory/meson.build
+++ b/src/lua-factory/meson.build
@@ -57,7 +57,7 @@ shared_library('grlluafactory',
     sources: lua_factory_sources + lua_factory_resources + lua_library_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[lua_factory_idx][DEPS],
+    dependencies: must_deps + plugins[lua_factory_idx][REQ_DEPS] + plugins[lua_factory_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlLuaFactory"',
         '-DHAVE_CONFIG_H',
diff --git a/src/lua-factory/sources/meson.build b/src/lua-factory/sources/meson.build
index b212a99..6d66d4e 100644
--- a/src/lua-factory/sources/meson.build
+++ b/src/lua-factory/sources/meson.build
@@ -20,7 +20,7 @@ sources = [
     'grl-thegamesdb',
     'grl-video-title-parsing',
 ]
-    
+
 resources = [
     'grl-euronews',
     'grl-guardianvideos',
diff --git a/src/magnatune/meson.build b/src/magnatune/meson.build
index 9152eef..8b961b4 100644
--- a/src/magnatune/meson.build
+++ b/src/magnatune/meson.build
@@ -17,7 +17,7 @@ shared_library('grlmagnatune',
     sources: magnatune_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[magnatune_idx][DEPS],
+    dependencies: must_deps + plugins[magnatune_idx][REQ_DEPS] + plugins[magnatune_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlMagnatune"',
         '-DHAVE_CONFIG_H',
diff --git a/src/metadata-store/meson.build b/src/metadata-store/meson.build
index 7d46433..cc8a911 100644
--- a/src/metadata-store/meson.build
+++ b/src/metadata-store/meson.build
@@ -17,7 +17,7 @@ shared_library('grlmetadatastore',
     sources: metadata_store_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[metadata_store_idx][DEPS],
+    dependencies: must_deps + plugins[metadata_store_idx][REQ_DEPS] + plugins[metadata_store_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlMetadataStore"',
         '-DHAVE_CONFIG_H',
diff --git a/src/opensubtitles/meson.build b/src/opensubtitles/meson.build
index b995649..493b337 100644
--- a/src/opensubtitles/meson.build
+++ b/src/opensubtitles/meson.build
@@ -17,7 +17,7 @@ shared_library('grlopensubtitles',
     sources: opensubtitles_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[opensubtitles_idx][DEPS],
+    dependencies: must_deps + plugins[opensubtitles_idx][REQ_DEPS] + plugins[opensubtitles_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlOpenSubtitles"',
         '-DHAVE_CONFIG_H',
diff --git a/src/optical-media/meson.build b/src/optical-media/meson.build
index 48d32c6..07512b1 100644
--- a/src/optical-media/meson.build
+++ b/src/optical-media/meson.build
@@ -17,7 +17,7 @@ shared_library('grlopticalmedia',
     sources: optical_media_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[optical_media_idx][DEPS],
+    dependencies: must_deps + plugins[optical_media_idx][REQ_DEPS] + plugins[optical_media_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlOpticalMedia"',
         '-DHAVE_CONFIG_H',
diff --git a/src/podcasts/meson.build b/src/podcasts/meson.build
index 0e0b636..9f8d0cc 100644
--- a/src/podcasts/meson.build
+++ b/src/podcasts/meson.build
@@ -17,7 +17,7 @@ shared_library('grlpodcasts',
     sources: podcasts_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[podcasts_idx][DEPS],
+    dependencies: must_deps + plugins[podcasts_idx][REQ_DEPS] + plugins[podcasts_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlPodcasts"',
         '-DHAVE_CONFIG_H',
diff --git a/src/raitv/meson.build b/src/raitv/meson.build
index 18b689f..11a13e0 100644
--- a/src/raitv/meson.build
+++ b/src/raitv/meson.build
@@ -21,7 +21,7 @@ shared_library('grlraitv',
     sources: raitv_sources + raitv_resources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[raitv_idx][DEPS],
+    dependencies: must_deps + plugins[raitv_idx][REQ_DEPS] + plugins[raitv_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlRaitv"',
         '-DHAVE_CONFIG_H',
diff --git a/src/shoutcast/meson.build b/src/shoutcast/meson.build
index 04d6953..4f5eb68 100644
--- a/src/shoutcast/meson.build
+++ b/src/shoutcast/meson.build
@@ -17,7 +17,7 @@ shared_library('grlshoutcast',
     sources: shoutcast_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[shoutcast_idx][DEPS],
+    dependencies: must_deps + plugins[shoutcast_idx][REQ_DEPS] + plugins[shoutcast_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlShoutcast"',
         '-DHAVE_CONFIG_H',
diff --git a/src/thetvdb/meson.build b/src/thetvdb/meson.build
index f286b28..29dd45a 100644
--- a/src/thetvdb/meson.build
+++ b/src/thetvdb/meson.build
@@ -21,7 +21,7 @@ shared_library('grlthetvdb',
     sources: thetvdb_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[thetvdb_idx][DEPS],
+    dependencies: must_deps + plugins[thetvdb_idx][REQ_DEPS] + plugins[thetvdb_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlTheTVDB"',
         '-DHAVE_CONFIG_H',
diff --git a/src/tmdb/meson.build b/src/tmdb/meson.build
index b54a324..e41b8db 100644
--- a/src/tmdb/meson.build
+++ b/src/tmdb/meson.build
@@ -19,7 +19,7 @@ shared_library('grltmdb',
     sources: tmdb_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[tmdb_idx][DEPS],
+    dependencies: must_deps + plugins[tmdb_idx][REQ_DEPS] + plugins[tmdb_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlTmdb"',
         '-DHAVE_CONFIG_H',
diff --git a/src/tracker/meson.build b/src/tracker/meson.build
index 5603115..4f78c5c 100644
--- a/src/tracker/meson.build
+++ b/src/tracker/meson.build
@@ -30,7 +30,7 @@ shared_library('grltracker',
     sources: tracker_sources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[tracker_idx][DEPS],
+    dependencies: must_deps + plugins[tracker_idx][REQ_DEPS] + plugins[tracker_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlTracker"',
         '-DHAVE_CONFIG_H',
diff --git a/src/vimeo/meson.build b/src/vimeo/meson.build
index 5917bf5..941655b 100644
--- a/src/vimeo/meson.build
+++ b/src/vimeo/meson.build
@@ -23,7 +23,7 @@ shared_library('grlvimeo',
     sources: vimeo_sources + vimeo_resources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[vimeo_idx][DEPS],
+    dependencies: must_deps + plugins[vimeo_idx][REQ_DEPS] + plugins[vimeo_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlVimeo"',
         '-DHAVE_CONFIG_H',
diff --git a/src/youtube/meson.build b/src/youtube/meson.build
index a21fb1d..072280d 100644
--- a/src/youtube/meson.build
+++ b/src/youtube/meson.build
@@ -21,7 +21,7 @@ shared_library('grlyoutube',
     sources: youtube_sources + youtube_resources,
     install: true,
     install_dir: pluginsdir,
-    dependencies: must_deps + plugins[youtube_idx][DEPS],
+    dependencies: must_deps + plugins[youtube_idx][REQ_DEPS] + plugins[youtube_idx][OPT_DEPS],
     c_args: [
         '-DG_LOG_DOMAIN="GrlYoutube"',
         '-DHAVE_CONFIG_H',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]