Control: tags -1 patch
On 2024-06-23 Andreas Tille <[email protected]> wrote:
> Control: tags -1 help
> Hi Andreas,
> strange, it has build for me.
Very strange, perhaps you did not build against the libgcrypt package in
experimental.
> Am Sun, Jun 23, 2024 at 08:03:30AM +0200 schrieb Andreas Metzler:
> > Control: reopen 1071860
> > ...
> > CMake Error at CMakeLists.txt:529 (message):
> > FATAL: libgcrypt-config not found (LIBGCRYPT_CONFIG_SCRIPT-NOTFOUND)
> > [...]
> I admit I currently have no time to track this down. It might make
> sense to upgrade to latest upstream which might have been adapted to
> work without libgcrypt-config. Tagging the bug help since I have no
> capacity to work on this.
Fair enough.
The respective part of the CMake setup is unchanged in 7.1-003.
Attached patch works for me.
Upstream's build system is rather strange. - It requires libgcrypt itself
to be in the standard search but allows the headers to be hidden away:
8X----------------
# Iterate over the list of GPG related libraries
foreach(gpglib gpg-error gpgme gcrypt config)
# For each library, we need a new CMake variable, hence GPGLIB_${gpglib}
find_library(GPGLIB_${gpglib} NAME ${gpglib} PATHS ${CMAKE_LIBRARY_PATH})
# Append the found library to the list
set(GPG_LIBRARIES ${GPG_LIBRARIES} ${GPGLIB_${gpglib}})
endforeach()
[...]
# Locate libgcrypt's header files (assumption: all others headers are found in
the same location)
find_program(LIBGCRYPT_CONFIG_SCRIPT NAMES libgcrypt-config)
if (LIBGCRYPT_CONFIG_SCRIPT MATCHES ".+-NOTFOUND")
message(FATAL_ERROR "FATAL: libgcrypt-config not found
(${LIBGCRYPT_CONFIG_SCRIPT})")
else()
[...]
8X----------------
A Debian specific patch could simply drop the whole block
find_program(LIBGCRYPT_CONFIG_SCRIPT NAMES libgcrypt-config)
if (LIBGCRYPT_CONFIG_SCRIPT MATCHES ".+-NOTFOUND")
[...]
endif()
I will give it a litte bit of time to check whether somebody else from
-med picks this up and will NMU otherwise.
cu Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
From: Andreas Metzler <[email protected]>
Date: Sun, 23 Jun 2024 13:26:46 +0200
Subject: Use pkg-config to locate gcrypt include path instead of
libgcrypt-config
---
CMakeLists.txt | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cd06044..c9e57f4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -524,19 +524,9 @@ add_custom_target(gen_tls_options
DEPENDS ${GTM_BINARY_DIR}/gen_tls_options.h ${GTM_BINARY_DIR}/gen_tls_verify_options.h)
# Locate libgcrypt's header files (assumption: all others headers are found in the same location)
-find_program(LIBGCRYPT_CONFIG_SCRIPT NAMES libgcrypt-config)
-if (LIBGCRYPT_CONFIG_SCRIPT MATCHES ".+-NOTFOUND")
- message(FATAL_ERROR "FATAL: libgcrypt-config not found (${LIBGCRYPT_CONFIG_SCRIPT})")
-else()
- # libgcrypt-config --cflags returns "\n" when the includes are located in the default search path
- exec_program(${LIBGCRYPT_CONFIG_SCRIPT} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE LIBGCRYPT_CFLAGS)
- # If a path is returned, it is preceded by '-I' for use as CFLAG directive
- string(REGEX REPLACE "^-I" "" LIBGCRYPT_INCLUDES "${LIBGCRYPT_CFLAGS}")
- if (NOT (${LIBGCRYPT_INCLUDES} MATCHES "\n"))
- message("INFO: ${LIBGCRYPT_CONFIG_SCRIPT} ${_return_VALUE} '${LIBGCRYPT_INCLUDES}'")
- include_directories(${LIBGCRYPT_INCLUDES})
- endif()
-endif()
+include(FindPkgConfig)
+pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
+include_directories(${LIBGCRYPT_INCLUDE_DIRS})
# Building the three encryption libraries could by a loop of some sort, but
# manually creating each target is way easier.