[PATCH] meson.build: fix libgcrypt detection on system without libgcrypt-config

Yao Zi posted 1 patch 4 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240706201226.46089-1-ziyao@disroot.org
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
meson.build | 1 -
1 file changed, 1 deletion(-)
[PATCH] meson.build: fix libgcrypt detection on system without libgcrypt-config
Posted by Yao Zi 4 months, 2 weeks ago
libgcrypt starts providing correct pkg-config configuration and dropping
libgcrypt-config since 1.11.0. So use auto method for detection of
libgcrypt, in which meson will try both pkg-config and libgcrypt-config.

This fixes build failure when libgcrypt is enabled on a system without
ligcrypt-config. Auto method for libgcrypt is supported by meson since
0.49.0, which is higher than the version qemu requires.

Signed-off-by: Yao Zi <ziyao@disroot.org>
---
 meson.build | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meson.build b/meson.build
index 6a93da48e1..1b71824548 100644
--- a/meson.build
+++ b/meson.build
@@ -1695,7 +1695,6 @@ endif
 if not gnutls_crypto.found()
   if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled()
     gcrypt = dependency('libgcrypt', version: '>=1.8',
-                        method: 'config-tool',
                         required: get_option('gcrypt'))
     # Debian has removed -lgpg-error from libgcrypt-config
     # as it "spreads unnecessary dependencies" which in
-- 
2.45.2
Re: [PATCH] meson.build: fix libgcrypt detection on system without libgcrypt-config
Posted by Daniel P. Berrangé 4 months, 2 weeks ago
On Sat, Jul 06, 2024 at 08:12:26PM +0000, Yao Zi wrote:
> libgcrypt starts providing correct pkg-config configuration and dropping
> libgcrypt-config since 1.11.0. So use auto method for detection of
> libgcrypt, in which meson will try both pkg-config and libgcrypt-config.

The pkg-config file seems to be provided since 1.9 in fact.

Where do you see that ligcrypt-config is dropped ?  It still
exists in the gcrypt  git repo and in Fedora 1.11.0 packages.

> 
> This fixes build failure when libgcrypt is enabled on a system without
> ligcrypt-config. Auto method for libgcrypt is supported by meson since
> 0.49.0, which is higher than the version qemu requires.
> 
> Signed-off-by: Yao Zi <ziyao@disroot.org>
> ---
>  meson.build | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 6a93da48e1..1b71824548 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1695,7 +1695,6 @@ endif
>  if not gnutls_crypto.found()
>    if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled()
>      gcrypt = dependency('libgcrypt', version: '>=1.8',
> -                        method: 'config-tool',
>                          required: get_option('gcrypt'))
>      # Debian has removed -lgpg-error from libgcrypt-config
>      # as it "spreads unnecessary dependencies" which in

Despite the misleading commit message the change is good and I'll
queue it.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH] meson.build: fix libgcrypt detection on system without libgcrypt-config
Posted by Yao Zi 4 months, 1 week ago
On Fri, Jul 12, 2024 at 02:52:02PM +0100, Daniel P. Berrangé wrote:
> On Sat, Jul 06, 2024 at 08:12:26PM +0000, Yao Zi wrote:
> > libgcrypt starts providing correct pkg-config configuration and dropping
> > libgcrypt-config since 1.11.0. So use auto method for detection of
> > libgcrypt, in which meson will try both pkg-config and libgcrypt-config.
> 
> The pkg-config file seems to be provided since 1.9 in fact.
> 
> Where do you see that ligcrypt-config is dropped ?

Commit 2db5b5e9
("build: When no gpg-error-config, not install libgcrypt-config")[1] in
libgcrypt says that

> When system will migrate use of gpgrt-config and removal of
> gpg-error-config, libgcrypt-config will not be installed

1.11.0 is the first release containing this commit.

> It still
> exists in the gcrypt  git repo and in Fedora 1.11.0 packages.

It does not on Arch Linux. For Fedora, I have no idea.

[1]: https://github.com/gpg/libgcrypt/commit/2db5b5e995c21c5bd9cd193c2ed1109ba9b1a440
[2]: https://archlinux.org/packages/core/x86_64/libgcrypt/

Best regards,
Yao Zi