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>
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/libsecret/0001-libsecret.pc-add-Libs.private-field-for-libgcrypt.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
This commit is contained in:
Fabrice Fontaine 2019-09-21 19:48:50 +02:00
parent 79e89b2cb2
commit 93b7043b5f

View File

@ -11,4 +11,5 @@ Description: GObject bindings for Secret Service API
Version: @VERSION@ Version: @VERSION@
Requires: glib-2.0 gobject-2.0 gio-2.0 Requires: glib-2.0 gobject-2.0 gio-2.0
Libs: -L${libdir} -lsecret-@SECRET_MAJOR@ Libs: -L${libdir} -lsecret-@SECRET_MAJOR@
Libs.private: @LIBGCRYPT_LIBS@
Cflags: -I${includedir}/libsecret-@SECRET_MAJOR@ Cflags: -I${includedir}/libsecret-@SECRET_MAJOR@