commit:     967a6ee349d91a4d33552646fe9efefd432555a6
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 00:31:35 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue May 31 00:32:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=967a6ee3

media-sound/rhythmbox: Add patch to fix build with USE=-libnotify

Closes: https://bugs.gentoo.org/842291
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 ...-use-feature.allowed-around-dependency-ch.patch | 169 +++++++++++++++++++++
 media-sound/rhythmbox/rhythmbox-3.4.5.ebuild       |   5 +-
 2 files changed, 173 insertions(+), 1 deletion(-)

diff --git 
a/media-sound/rhythmbox/files/3.4.5-build-don-t-use-feature.allowed-around-dependency-ch.patch
 
b/media-sound/rhythmbox/files/3.4.5-build-don-t-use-feature.allowed-around-dependency-ch.patch
new file mode 100644
index 000000000000..294d2d2ef66f
--- /dev/null
+++ 
b/media-sound/rhythmbox/files/3.4.5-build-don-t-use-feature.allowed-around-dependency-ch.patch
@@ -0,0 +1,169 @@
+From c9dfc5a5899d2628ba1dd6f93f46cf589669bd45 Mon Sep 17 00:00:00 2001
+From: Jonathan Matthew <jonat...@d14n.org>
+Date: Tue, 17 May 2022 08:18:21 +1000
+Subject: [PATCH] build: don't use feature.allowed() around dependency checks
+
+When the feature specified as the 'required' parameter to dependency()
+is disabled, it returns an empty dependency object, which is much easier
+to deal with than a dependency variable that's only conditionally
+defined.
+
+Fixes: #1972
+---
+ meson.build | 94 +++++++++++++++++++++--------------------------------
+ 1 file changed, 37 insertions(+), 57 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5792b0e49..de265901b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -70,71 +70,52 @@ tdb = dependency('tdb', version: '>= 1.2.6', required: 
true)
+ totem_plparser = dependency('totem-plparser', version: '>= 3.2.0', required: 
true)
+ 
+ use_gudev = false
+-if get_option('gudev').allowed()
+-  gudev = dependency('gudev-1.0', version: '>= 143', required: 
get_option('gudev'))
+-  if gudev.found()
+-    use_gudev = true
+-    cdata.set('HAVE_GUDEV', 1)
+-  endif
++gudev = dependency('gudev-1.0', version: '>= 143', required: 
get_option('gudev'))
++if gudev.found()
++  use_gudev = true
++  cdata.set('HAVE_GUDEV', 1)
+ endif
+ 
+ use_ipod = false
+-if get_option('ipod').allowed()
+-  libgpod = dependency('libgpod-1.0', version: '>= 0.7.92', required: 
get_option('ipod'))
+-  if libgpod.found()
+-    use_ipod = true
+-  endif
++libgpod = dependency('libgpod-1.0', version: '>= 0.7.92', required: 
get_option('ipod'))
++if libgpod.found()
++  use_ipod = true
+ endif
+ 
+ use_mtp = false
+-if get_option('mtp').allowed()
+-  libmtp = dependency('libmtp', version: '>= 0.3.0', required: 
get_option('mtp'))
+-
+-  if libmtp.found()
+-    if use_gudev
+-      use_mtp = true
+-    elif get_option('mtp').enabled()
+-      error('MTP explicitly requested but GUdev is not available')
+-    endif
++libmtp = dependency('libmtp', version: '>= 0.3.0', required: 
get_option('mtp'))
++if libmtp.found()
++  if use_gudev
++    use_mtp = true
++  elif get_option('mtp').enabled()
++    error('MTP explicitly requested but GUdev is not available')
+   endif
+ endif
+ 
+ use_notify = false
+-if get_option('libnotify').allowed()
+-  libnotify = dependency('libnotify', version: '>= 0.7.0', required: 
get_option('libnotify'))
+-
+-  if libnotify.found()
+-    use_notify = true
+-  endif
++libnotify = dependency('libnotify', version: '>= 0.7.0', required: 
get_option('libnotify'))
++if libnotify.found()
++  use_notify = true
+ endif
+ 
+ use_libsecret = false
+-if get_option('libsecret').allowed()
+-  libsecret = dependency('libsecret-1', version: '>= 0.18', required: 
get_option('libsecret'))
+-
+-  if libsecret.found()
+-    use_libsecret = true
+-  endif
++libsecret = dependency('libsecret-1', version: '>= 0.18', required: 
get_option('libsecret'))
++if libsecret.found()
++  use_libsecret = true
+ endif
+ cdata.set('PY_LIBSECRET_ENABLED', use_libsecret)
+ cdata.set('WITH_LIBSECRET', use_libsecret)
+ 
+ use_lirc = false
+-if get_option('lirc').allowed()
+-  lirc = dependency('lirc', required: get_option('lirc'))
+-
+-  if lirc.found()
+-    use_lirc = true
+-  endif
++lirc = dependency('lirc', required: get_option('lirc'))
++if lirc.found()
++  use_lirc = true
+ endif
+ 
+ have_libbrasero_media = false
+-if get_option('brasero').allowed()
+-  brasero_media = dependency('libbrasero-media3', version: '>= 2.31.5', 
required: get_option('brasero'))
+-
+-  if brasero_media.found()
+-    have_libbrasero_media = true
+-  endif
++brasero_media = dependency('libbrasero-media3', version: '>= 2.31.5', 
required: get_option('brasero'))
++if brasero_media.found()
++  have_libbrasero_media = true
+ endif
+ 
+ have_gnu_fwrite_unlocked = false
+@@ -189,16 +170,16 @@ cdata.set('PLUGINDATADIR',  plugindatadir)
+ cdata.set('SAMPLEPLUGINDIR', libdir / 'rhythmbox' / 'sample-plugins')
+ 
+ enable_python = false
+-if get_option('plugins_python').allowed()
+-  python = find_program('python3', required: get_option('plugins_python'))
+-  pygobject = dependency('pygobject-3.0', version: '>= 3.0.0', required: 
get_option('plugins_python'))
+-  pyoverridesdir = run_command([python, '-c', '''import gi; 
print(gi._overridesdir)'''], check: true).stdout().strip()
++python = find_program('python3', required: get_option('plugins_python'))
++pygobject = dependency('pygobject-3.0', version: '>= 3.0.0', required: 
get_option('plugins_python'))
++pyoverridesdir = run_command([python, '-c', '''import gi; 
print(gi._overridesdir)'''], check: true).stdout().strip()
++if python.found() and pygobject.found()
+   enable_python = true
+ endif
+ 
+ enable_vala = false
+-if get_option('plugins_vala').allowed()
+-  vala_found = add_languages('vala', required: get_option('plugins_vala'), 
native: false)
++vala_found = add_languages('vala', required: get_option('plugins_vala'), 
native: false)
++if vala_found
+   enable_vala = true
+   vapi_dir = meson.current_source_dir() / 'bindings' / 'vala'
+   add_project_arguments(['--vapidir', vapi_dir], language: 'vala')
+@@ -231,12 +212,9 @@ if get_option('daap').allowed()
+ endif
+ 
+ enable_grilo = false
+-if get_option('grilo').allowed()
+-  grilo = dependency('grilo-0.3', version: '>= 0.3.1', required: 
get_option('grilo'))
+-
+-  if grilo.found()
+-    enable_grilo = true
+-  endif
++grilo = dependency('grilo-0.3', version: '>= 0.3.1', required: 
get_option('grilo'))
++if grilo.found()
++  enable_grilo = true
+ endif
+ 
+ enable_check = false
+@@ -279,7 +257,9 @@ summary({'iPod integration': use_ipod,
+          'Python plugin support': enable_python,
+          'Vala plugin support': enable_vala,
+          'Libsecret keyring support': use_libsecret,
+-         'FM radio support': enable_fm_radio,},
++         'FM radio support': enable_fm_radio,
++         'Grilo support': enable_grilo,
++        },
+         section: 'Plugins')
+ 
+ configinc = include_directories('.')
+-- 
+2.35.1
+

diff --git a/media-sound/rhythmbox/rhythmbox-3.4.5.ebuild 
b/media-sound/rhythmbox/rhythmbox-3.4.5.ebuild
index c4b440ad855b..d9e9ffb13091 100644
--- a/media-sound/rhythmbox/rhythmbox-3.4.5.ebuild
+++ b/media-sound/rhythmbox/rhythmbox-3.4.5.ebuild
@@ -93,7 +93,10 @@ BDEPEND="
        test? ( dev-libs/check )
 "
 
-PATCHES=( "${FILESDIR}/${PV}"-relax-meson-version-check.patch )
+PATCHES=(
+       "${FILESDIR}/${PV}"-relax-meson-version-check.patch
+       
"${FILESDIR}/${PV}"-build-don-t-use-feature.allowed-around-dependency-ch.patch
+)
 
 pkg_setup() {
        use python && python-single-r1_pkg_setup

Reply via email to