package/libgcrypt: add upstream patch to add pkg-config file

libgrypt provides a config file `libgcrypt-config`. After the version
bump to 1.8.4 upstream added a pkg-config file as well [1].

Using the pkg-config file is preferred over using the package provided
config file. For example, the Meson build system requires that for every
special config file an entry is added to the `[binary]` section in the
cross-compilation.conf file, otherwise it will use the config file found
in `PATH`. This is bad when cross-compiling as `PATH` will include
pathes to the host and therefore Meson will wrongly use the host config
file.

To simplify using libgcrypt for packages using the meson infrastructure
lets add the pkg-config file.

Note, that the additional upstream patch 0003 fixes a typo in the pkg-config
file.

[1] 97194b422b

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 624eb111e1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Jörg Krause 2019-07-28 08:10:22 +02:00 committed by Peter Korsgaard
parent 958d20cd1c
commit 7bd9fc3946
3 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,93 @@
From c006d8b897229e22f80cd6105fd64d0630f68867 Mon Sep 17 00:00:00 2001
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Wed, 24 Oct 2018 14:57:53 +0900
Subject: [PATCH] build: Provide libgcrypt.pc, generated by configure.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* configure.ac: Generate src/libgcrypt.pc.
* src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
(EXTRA_DIST): Add libgcrypt.pc.in.
* src/libgcrypt-config.in: Use @PACKAGE_VERSION@.
* src/libgcrypt.pc.in: New.
Fetched from: 97194b422bc89a6137f4e218d4cdee118c63e96e
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
configure.ac | 1 +
src/Makefile.am | 5 ++++-
src/libgcrypt-config.in | 2 +-
src/libgcrypt.pc.in | 17 +++++++++++++++++
4 files changed, 23 insertions(+), 2 deletions(-)
create mode 100644 src/libgcrypt.pc.in
diff --git a/configure.ac b/configure.ac
index ce11162d..4e788714 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2613,6 +2613,7 @@ doc/Makefile
src/Makefile
src/gcrypt.h
src/libgcrypt-config
+src/libgcrypt.pc
src/versioninfo.rc
tests/Makefile
])
diff --git a/src/Makefile.am b/src/Makefile.am
index 3cc4a552..82d6e8a0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,8 +20,11 @@
## Process this file with automake to produce Makefile.in
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libgcrypt.pc
+
EXTRA_DIST = libgcrypt-config.in libgcrypt.m4 libgcrypt.vers \
- gcrypt.h.in libgcrypt.def
+ gcrypt.h.in libgcrypt.def libgcrypt.pc.in
bin_SCRIPTS = libgcrypt-config
m4datadir = $(datadir)/aclocal
diff --git a/src/libgcrypt-config.in b/src/libgcrypt-config.in
index c052638c..f7a13afe 100644
--- a/src/libgcrypt-config.in
+++ b/src/libgcrypt-config.in
@@ -14,7 +14,7 @@
# General.
prefix="@prefix@"
exec_prefix="@exec_prefix@"
-version="@VERSION@"
+version="@PACKAGE_VERSION@"
includedir="@includedir@"
libdir="@libdir@"
gpg_error_libs="@GPG_ERROR_LIBS@"
diff --git a/src/libgcrypt.pc.in b/src/libgcrypt.pc.in
new file mode 100644
index 00000000..5472da53
--- /dev/null
+++ b/src/libgcrypt.pc.in
@@ -0,0 +1,17 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+includedir=@includedir@
+libdir=@libdir@
+host=@LIBGCRYPT_CONFIG_HOST@
+api_version=@LIBGCRYPT_CONFIG_API_VERSION@
+symmetric_ciphers="@LIBGCRYPT_CIPHERS@"
+asymmetric_ciphers="@LIBGCRYPT_PUBKEY_CIPHERS@"
+digests="@LIBGCRYPT_DIGESTS@"
+
+Name: libgcrypt
+Description: General purpose cryptographic library
+Requires: gpg-error
+Version: @PACKAGE_VERSION@
+Cflags: @LIBGCRYPT_CONFIG_CFLAGS@
+Libs: @LIBGCRYPT_CONFIG_LIB@
+URL: https://www.gnupg.org/software/libgcrypt/index.html
--
2.22.0

View File

@ -0,0 +1,31 @@
From de0245ddfca3cea31311eae9f7f3e8c0da072252 Mon Sep 17 00:00:00 2001
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Wed, 24 Oct 2018 15:34:57 +0900
Subject: [PATCH] build: Fix libgcrypt.pc.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* src/libgcrypt.pc.in: Fix typo.
Fetched from: 0e071372fc0e6fed4a449955ed0789803ba5e709
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
src/libgcrypt.pc.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libgcrypt.pc.in b/src/libgcrypt.pc.in
index 5472da53..ec68fa2d 100644
--- a/src/libgcrypt.pc.in
+++ b/src/libgcrypt.pc.in
@@ -13,5 +13,5 @@ Description: General purpose cryptographic library
Requires: gpg-error
Version: @PACKAGE_VERSION@
Cflags: @LIBGCRYPT_CONFIG_CFLAGS@
-Libs: @LIBGCRYPT_CONFIG_LIB@
+Libs: @LIBGCRYPT_CONFIG_LIBS@
URL: https://www.gnupg.org/software/libgcrypt/index.html
--
2.22.0

View File

@ -14,6 +14,7 @@ LIBGCRYPT_DEPENDENCIES = libgpg-error
LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config
# Patching acinclude.m4 in 0001
# Patching configure.ac and Makefile.am in 0002
LIBGCRYPT_AUTORECONF = YES
LIBGCRYPT_CONF_OPTS = \
--with-gpg-error-prefix=$(STAGING_DIR)/usr