[Buildroot] [git commit branch/2019.02.x] package/libgcrypt: add upstream patch to add pkg-config file

Peter Korsgaard peter at korsgaard.com
Mon Sep 30 15:22:07 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=7bd9fc3946356493f3dfbae98218256df631113d
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2019.02.x

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] https://github.com/gpg/libgcrypt/commit/97194b422bc89a6137f4e218d4cdee118c63e96e

Signed-off-by: Jörg Krause <joerg.krause at embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
(cherry picked from commit 624eb111e1a387d52cd48eab100cdb5ff154a42d)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...ovide-libgcrypt.pc-generated-by-configure.patch | 93 ++++++++++++++++++++++
 .../libgcrypt/0003-build-Fix-libgcrypt.pc.patch    | 31 ++++++++
 package/libgcrypt/libgcrypt.mk                     |  1 +
 3 files changed, 125 insertions(+)

diff --git a/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch b/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
new file mode 100644
index 0000000000..181f2467c4
--- /dev/null
+++ b/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
@@ -0,0 +1,93 @@
+From c006d8b897229e22f80cd6105fd64d0630f68867 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe at 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 at .
+* src/libgcrypt.pc.in: New.
+
+Fetched from: 97194b422bc89a6137f4e218d4cdee118c63e96e
+
+Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
+Signed-off-by: Jörg Krause <joerg.krause at 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
diff --git a/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch b/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch
new file mode 100644
index 0000000000..566ca3d22d
--- /dev/null
+++ b/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch
@@ -0,0 +1,31 @@
+From de0245ddfca3cea31311eae9f7f3e8c0da072252 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe at 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 at fsij.org>
+Signed-off-by: Jörg Krause <joerg.krause at 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
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index 5aa44481ae..2799a6fba2 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -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


More information about the buildroot mailing list