diff options
Diffstat (limited to 'media-video/totem/files/3.30.0-control-plugins.patch')
-rw-r--r-- | media-video/totem/files/3.30.0-control-plugins.patch | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/media-video/totem/files/3.30.0-control-plugins.patch b/media-video/totem/files/3.30.0-control-plugins.patch new file mode 100644 index 000000000000..4d57ad0971c0 --- /dev/null +++ b/media-video/totem/files/3.30.0-control-plugins.patch @@ -0,0 +1,199 @@ +From 5bdfac8a4a34e3edec05439fa3cd5544e0515e24 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org> +Date: Sun, 10 Jun 2018 10:09:16 +0200 +Subject: [PATCH] Allow full control over which plugins are built + +--- + meson.build | 2 +- + meson_options.txt | 28 ++++++++++++++++++++- + src/plugins/meson.build | 56 ++++++++++++++++++++++++++++++----------- + 3 files changed, 69 insertions(+), 17 deletions(-) + +diff --git a/meson.build b/meson.build +index 9c4797dd..aa91ae10 100644 +--- a/meson.build ++++ b/meson.build +@@ -3,7 +3,7 @@ project( + version: '3.30.0', + license: 'GPL2+ with exception', + default_options: 'buildtype=debugoptimized', +- meson_version: '>= 0.43.0' ++ meson_version: '>= 0.44.0' + ) + + totem_version = meson.project_version() +diff --git a/meson_options.txt b/meson_options.txt +index 3b6ff67b..6e056952 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,7 +1,33 @@ + option('enable-easy-codec-installation', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Whether to enable easy codec installation support for GStreamer') + option('enable-python', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Enable python support') + option('enable-vala', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'whether Vala plugin support is requested') +-option('with-plugins', type: 'combo', choices: ['all', 'none', 'auto'], value: 'auto', description: 'Which Totem plugins to compile (default: auto; "all", "none" and "auto" are valid)') ++option('with-plugins', type: 'array', choices: [ ++ 'all', ++ 'auto', ++ 'apple-trailers', ++ 'autoload-subtitles', ++ 'brasero-disc-recorder', ++ 'dbusservice', ++ 'gromit', ++ 'im-status', ++ 'lirc', ++ 'media-player-keys', ++ 'ontop', ++ 'opensubtitles', ++ 'properties', ++ 'pythonconsole', ++ 'recent', ++ 'rotation', ++ 'sample-vala', ++ 'samplepython', ++ 'save-file', ++ 'screensaver', ++ 'screenshot', ++ 'skipto', ++ 'variable-rate', ++ 'vimeo', ++ 'zeitgeist-dp' ++], value: ['auto'], description: 'Which Totem plugins to compile (default: auto; "all", "none" and "auto" are valid)') + option('enable-nautilus', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'compile the nautilus plugin') + option('with-nautilusdir', type: 'string', value: '', description: 'Installation path for Nautilus extension') + option('enable-gtk-doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') +diff --git a/src/plugins/meson.build b/src/plugins/meson.build +index 95af6485..289ba811 100644 +--- a/src/plugins/meson.build ++++ b/src/plugins/meson.build +@@ -41,8 +41,8 @@ allowed_plugins = [ + plugins = [] + + plugins_option = get_option('with-plugins') +-if plugins_option != 'none' +- plugins += [ ++if plugins_option.length() > 0 ++ foreach plugin: [ + 'apple-trailers', + 'autoload-subtitles', + 'im-status', +@@ -56,26 +56,38 @@ if plugins_option != 'none' + 'variable-rate', + 'vimeo' + ] ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin) ++ plugins += plugin ++ endif ++ endforeach + +- plugin_error = (plugins_option == 'all') ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('gromit') ++ gdk_targets = gtk_dep.get_pkgconfig_variable('targets') ++ else ++ gdk_targets = [] ++ endif + +- gdk_targets = gtk_dep.get_pkgconfig_variable('targets') + if gdk_targets.contains('x11') + plugins += 'gromit' + else + str = 'the gromit plugin is not supported on non-X11 targets' +- if plugin_error ++ if plugins_option.contains('all') or plugins_option.contains('gromit') + error(str) + endif + message(str) + endif + +- lirc_dep = dependency('lirc', required: false) ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('lirc') ++ lirc_dep = dependency('lirc', required: false) ++ else ++ lirc_dep = disabler() ++ endif ++ + if lirc_dep.found() and cc.has_function('lirc_init', dependencies: lirc_dep) and cc.has_header('lirc/lirc_client.h') + plugins += 'lirc' + else + str = 'you need lirc_client installed for the lirc plugin' +- if plugin_error ++ if plugins_option.contains('all') or plugins_option.contains('lirc') + error(str) + endif + message(str) +@@ -84,33 +96,38 @@ if plugins_option != 'none' + libxml_req_version = '>= 2.6.0' + libxml_dep = dependency('libxml-2.0', version: libxml_req_version, required: false) + gtk_x11_dep = dependency('gtk+-x11-3.0', version: gtk_req_version, required: false) +- if libxml_dep.found() and gtk_x11_dep.found() ++ ++ if libxml_dep.found() and gtk_x11_dep.found() and (plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('brasero-disc-recorder')) + plugins += 'brasero-disc-recorder' + else + str = 'you need libxml-2.0 ' + libxml_req_version + ' and gtk+-x11-3.0 to use the brasero-disc-recorder plugin' +- if plugin_error ++ if plugins_option.contains('all') or plugins_option.contains('brasero-disc-recorder') + error(str) + endif + message(str) + endif + +- if have_nautilus ++ if have_nautilus and (plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('save-file')) + plugins += 'save-file' + else + str = 'you need libnautilus-extension to use the save-file plugin' +- if plugin_error ++ if plugins_option.contains('all') or plugins_option.contains('save-file') + error(str) + endif + message(str) + endif + + if have_python +- plugins += [ ++ foreach plugin: [ + 'dbusservice', + 'opensubtitles', + 'pythonconsole', + 'samplepython' + ] ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin) ++ plugins += plugin ++ endif ++ endforeach + endif + + if have_vala +@@ -129,17 +146,26 @@ if plugins_option != 'none' + '--pkg=@0@-@1@'.format(totem_gir_ns, totem_api_version) + ] + +- plugins += [ ++ foreach plugin: [ + 'rotation', + 'sample-vala' + ] ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin) ++ plugins += plugin ++ endif ++ endforeach ++ ++ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('zeitgeist-dp') ++ zeitgeist_dep = dependency('zeitgeist-2.0', version: '>= 0.9.12', required: false) ++ else ++ zeitgeist_dep = disabler() ++ endif + +- zeitgeist_dep = dependency('zeitgeist-2.0', version: '>= 0.9.12', required: false) + if zeitgeist_dep.found() + plugins += 'zeitgeist-dp' + else + str = 'you need zeitgeist-2.0 >= 0.9.12 to use the zeitgeist-dp plugin' +- if plugin_error ++ if plugins_option.contains('all') or plugins_option.contains('zeitgeist-dp') + error(str) + endif + message(str) +-- +2.17.1 + |