commit:     ad451bce337625b991035a0816d03127336e0b21
Author:     Michal Privoznik <mprivozn <AT> redhat <DOT> com>
AuthorDate: Sun Dec  6 20:00:00 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Dec  7 08:53:19 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad451bce

app-emulation/libvirt-6.8.0: Properly handle libpcap if it's explicitly disabled

This is a direct backport of an upstream commit of:

  c8be9ccc36a32cc756d05b2c0838c43a57be15f7

It was merged in 6.9.0 release, so 6.8.0 is the only release
which is still buggy.

Resolves: https://bugs.gentoo.org/754888
Signed-off-by: Michal Privoznik <mprivozn <AT> redhat.com>
Closes: https://github.com/gentoo/gentoo/pull/18536
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 ...rly-handle-libpcap-if-it-s-explicitly-dis.patch | 56 ++++++++++++++++++++++
 ...irt-6.8.0-r1.ebuild => libvirt-6.8.0-r2.ebuild} |  1 +
 2 files changed, 57 insertions(+)

diff --git 
a/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch
 
b/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch
new file mode 100644
index 00000000000..46da07afdf0
--- /dev/null
+++ 
b/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch
@@ -0,0 +1,56 @@
+From c8be9ccc36a32cc756d05b2c0838c43a57be15f7 Mon Sep 17 00:00:00 2001
+Message-Id: 
<c8be9ccc36a32cc756d05b2c0838c43a57be15f7.1607284606.git.mpriv...@redhat.com>
+From: Pavel Hrdina <[email protected]>
+Date: Thu, 8 Oct 2020 13:09:45 +0200
+Subject: [PATCH] meson: properly handle libpcap if it's explicitly disabled
+
+If libpcap is detected using pkg-config it would ignore the libpcap
+option.
+
+Signed-off-by: Pavel Hrdina <[email protected]>
+Reviewed-by: Andrea Bolognani <[email protected]>
+Signed-off-by: Michal Privoznik <[email protected]>
+---
+ meson.build | 25 +++++++++++++++----------
+ 1 file changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e5a8316668..ec252ddf39 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1101,17 +1101,22 @@ if libparted_dep.found()
+ endif
+ 
+ libpcap_version = '1.5.0'
+-libpcap_dep = dependency('libpcap', version: '>=' + libpcap_version, 
required: false)
+-if not libpcap_dep.found()
+-  pcap_config_prog = find_program('pcap-config', required: 
get_option('libpcap'))
+-  if pcap_config_prog.found()
+-    pcap_args = run_command(pcap_config_prog, 
'--cflags').stdout().strip().split()
+-    pcap_libs = run_command(pcap_config_prog, 
'--libs').stdout().strip().split()
+-    libpcap_dep = declare_dependency(
+-      compile_args: pcap_args,
+-      link_args: pcap_libs,
+-    )
++if not get_option('libpcap').disabled()
++  libpcap_dep = dependency('libpcap', version: '>=' + libpcap_version, 
required: false)
++
++  if not libpcap_dep.found()
++    pcap_config_prog = find_program('pcap-config', required: 
get_option('libpcap'))
++    if pcap_config_prog.found()
++      pcap_args = run_command(pcap_config_prog, 
'--cflags').stdout().strip().split()
++      pcap_libs = run_command(pcap_config_prog, 
'--libs').stdout().strip().split()
++      libpcap_dep = declare_dependency(
++        compile_args: pcap_args,
++        link_args: pcap_libs,
++      )
++    endif
+   endif
++else
++  libpcap_dep = dependency('', required: false)
+ endif
+ if libpcap_dep.found()
+   conf.set('WITH_LIBPCAP', 1)
+-- 
+2.26.2
+

diff --git a/app-emulation/libvirt/libvirt-6.8.0-r1.ebuild 
b/app-emulation/libvirt/libvirt-6.8.0-r2.ebuild
similarity index 99%
rename from app-emulation/libvirt/libvirt-6.8.0-r1.ebuild
rename to app-emulation/libvirt/libvirt-6.8.0-r2.ebuild
index 4de73f27c9f..2e07035bce7 100644
--- a/app-emulation/libvirt/libvirt-6.8.0-r1.ebuild
+++ b/app-emulation/libvirt/libvirt-6.8.0-r2.ebuild
@@ -129,6 +129,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.7.0-doc-path.patch
        "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
        "${FILESDIR}"/${PN}-6.8.0-fix-libvirt-lxc-dbus.patch
+       
"${FILESDIR}"/${PN}-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch
 )
 
 pkg_setup() {

Reply via email to