From 47309e8d01740b09f0dd809d5679384a8d49b2e2 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Wed, 19 Oct 2022 00:53:56 -0700 Subject: [PATCH] libreoffice: fix build with gpgme 2.18 --- .../libreoffice/patches/gpgme-2.18.0.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 srcpkgs/libreoffice/patches/gpgme-2.18.0.patch diff --git a/srcpkgs/libreoffice/patches/gpgme-2.18.0.patch b/srcpkgs/libreoffice/patches/gpgme-2.18.0.patch new file mode 100644 index 000000000000..caf71d8fbd75 --- /dev/null +++ b/srcpkgs/libreoffice/patches/gpgme-2.18.0.patch @@ -0,0 +1,47 @@ +From f7e170eb084cd4e92818de966b287330184749a8 Mon Sep 17 00:00:00 2001 +From: Rene Engelhard +Date: Wed, 24 Aug 2022 09:55:33 +0200 +Subject: [PATCH] Make configure work with gpgme >= 1.18 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Sam James wrote: +> gpgme-1.18.0 dropped a bunch of internal symbols, +> including progress_callback (see e.g. callbacks.h +> which has a comment at the top saying it's internal). + +Plausibly the workaround to not link against older KDE-specific distro +packages is not needed anymore. + +Check for main as a workaround as we do for other C++ libraries, too. + +Change-Id: I57065a5b5b23b9eadb73b01e4f3a289552c3bde4 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138667 +Tested-by: Jenkins +Reviewed-by: Sam James +Reviewed-by: René Engelhard +--- + configure.ac | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 24cb01aa0db02..61806988b94b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -12539,12 +12539,11 @@ elif test \( \( "$_os" = "Linux" -o "$_os" = "Darwin" \) -a "$ENABLE_NSS" = TRUE + # C++ library doesn't come with fancy gpgmepp-config, check for headers the old-fashioned way + AC_CHECK_HEADER(gpgme++/gpgmepp_version.h, [ GPGMEPP_CFLAGS=-I/usr/include/gpgme++ ], + [AC_MSG_ERROR([gpgmepp headers not found, install gpgmepp >= 1.14 development package])], []) +- # progress_callback is the only func with plain C linkage +- # checking for it also filters out older, KDE-dependent libgpgmepp versions +- AC_CHECK_LIB(gpgmepp, progress_callback, [ GPGMEPP_LIBS=-lgpgmepp ], +- [AC_MSG_ERROR(gpgmepp not found or not functional)], []) + AC_CHECK_HEADER(gpgme.h, [], + [AC_MSG_ERROR([gpgme headers not found, install gpgme development package])], []) ++ AC_CHECK_LIB(gpgmepp, main, [], ++ [AC_MSG_ERROR(gpgmepp not found or not functional)], []) ++ GPGMEPP_LIBS=-lgpgmepp + else + AC_MSG_RESULT([internal]) + BUILD_TYPE="$BUILD_TYPE LIBGPGERROR LIBASSUAN GPGMEPP"