buildroot/package/libsecret/0001-libsecret.pc-add-Libs.private-field-for-libgcrypt.patch
Thomas Petazzoni 4a26d2190b libsecret: add patch to fix .pc file for static linking
The .pc file of libsecret needs to be adjusted to account for its
optional dependency on the gcrypt library. The patch has been
submitted upstream for inclusion.

Fixes:

  http://autobuild.buildroot.org/results/c2c/c2c6185cfbd9a0c91266c9e8a5f4221afb14930f/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-28 12:28:59 +01:00

39 lines
1.7 KiB
Diff

From 754897490d9478025d174c2b1c1849305f728324 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Mon, 28 Dec 2015 12:13:07 +0100
Subject: [PATCH] libsecret.pc: add Libs.private field for libgcrypt
When libgcrypt is available, libsecret links with it. When dynamic
linking is used, there is no problem: libsecret.so has a NEEDED
pointing to libgcrypt, so linking an application with -lsecret works
fine. However, when doing static linking, you must specify the entire
chain of libraries, otherwise you get unresolved symbols errors, such
as:
host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libsecret-1.a(libsecret_1_la-secret-session.o): In function `request_open_session_aes':
build/libsecret-0.18.3/libsecret/secret-session.c:99: undefined reference to `gcry_mpi_release'
build/libsecret-0.18.3/libsecret/secret-session.c:101: undefined reference to `gcry_mpi_aprint'
build/libsecret-0.18.3/libsecret/secret-session.c:107: undefined reference to `gcry_free'
In order to solve this, we simply need to indicate in the Libs.private
field of the .pc file that we depend on libgcrypt.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
libsecret/libsecret.pc.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libsecret/libsecret.pc.in b/libsecret/libsecret.pc.in
index 0c342ef..d99cf44 100644
--- a/libsecret/libsecret.pc.in
+++ b/libsecret/libsecret.pc.in
@@ -11,4 +11,5 @@ Description: GObject bindings for Secret Service API
Version: @VERSION@
Requires: glib-2.0 gobject-2.0 gio-2.0
Libs: -L${libdir} -lsecret-@SECRET_MAJOR@
+Libs.private: @LIBGCRYPT_LIBS@
Cflags: -I${includedir}/libsecret-@SECRET_MAJOR@
--
2.6.4