gpg4libre: update gpgme, libassuan and libgpg-error

seen upstream & removed here:

- external/gpgmepp/add-gpgme_set_global_flag-wrapper.patch
- external/gpgmepp/version.patch
- external/libgpg-error/clang-cl.patch
- external/libgpg-error/libgpg-error_gawk5.patch

Change-Id: Iea2b681fa839ae55cb954c2ad3edf4291b149dbe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/61322
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This commit is contained in:
Thorsten Behrens
2018-10-03 19:23:25 +02:00
parent e1873e9611
commit d400009e7c
22 changed files with 242 additions and 357 deletions

View File

@@ -102,8 +102,8 @@ export FREETYPE_SHA256SUM := db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f
export FREETYPE_TARBALL := freetype-2.9.1.tar.bz2
export GLM_SHA256SUM := c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95
export GLM_TARBALL := glm-0.9.9.7.zip
export GPGME_SHA256SUM := 1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb
export GPGME_TARBALL := gpgme-1.9.0.tar.bz2
export GPGME_SHA256SUM := c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46
export GPGME_TARBALL := gpgme-1.13.1.tar.bz2
export GRAPHITE_SHA256SUM := b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc
export GRAPHITE_TARBALL := graphite2-minimal-1.3.14.tgz
export HARFBUZZ_SHA256SUM := 9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966
@@ -148,8 +148,8 @@ export LANGUAGETOOL_SHA256SUM := 48c87e41636783bba438b65fd895821e369ed139e1465fa
export LANGUAGETOOL_TARBALL := b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
export LCMS2_SHA256SUM := 48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20
export LCMS2_TARBALL := lcms2-2.9.tar.gz
export LIBASSUAN_SHA256SUM := 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449
export LIBASSUAN_TARBALL := libassuan-2.5.1.tar.bz2
export LIBASSUAN_SHA256SUM := 91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702
export LIBASSUAN_TARBALL := libassuan-2.5.3.tar.bz2
export LIBATOMIC_OPS_SHA256SUM := 1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665
export LIBATOMIC_OPS_TARBALL := libatomic_ops-7.6.8.tar.gz
export LIBEOT_SHA256SUM := cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a
@@ -158,8 +158,8 @@ export LIBEXTTEXTCAT_SHA256SUM := 13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191
export LIBEXTTEXTCAT_TARBALL := libexttextcat-3.4.5.tar.xz
export LIBFFI_SHA256SUM := 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056
export LIBFFI_TARBALL := libffi-3.3.tar.gz
export LIBGPGERROR_SHA256SUM := 4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2
export LIBGPGERROR_TARBALL := libgpg-error-1.27.tar.bz2
export LIBGPGERROR_SHA256SUM := b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763
export LIBGPGERROR_TARBALL := libgpg-error-1.37.tar.bz2
export LIBLANGTAG_SHA256SUM := d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e
export LIBLANGTAG_TARBALL := liblangtag-0.6.2.tar.bz2
export LIBNUMBERTEXT_SHA256SUM := 739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57

View File

@@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
ifeq ($(OS),LINUX)
$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.4.0))
$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.18.0))
$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.10.0))
$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.22.1))
else ifeq ($(OS),MACOSX)

View File

@@ -26,6 +26,7 @@ $(eval $(call gb_Library_set_include,gpgmepp,\
-I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src/interfaces \
-I$(call gb_UnpackedTarball_get_dir,gpgmepp) \
-I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
-I$(call gb_UnpackedTarball_get_dir,gpgmepp)/conf \
-I$(call gb_UnpackedTarball_get_dir,libgpg-error)/src \
$$(INCLUDE) \
))

View File

@@ -13,10 +13,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,gpgmepp,$(GPGME_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,gpgmepp,0))
# * external/gpgmepp/add-gpgme_set_global_flag-wrapper.patch upstreamed at
# <https://dev.gnupg.org/T4471> "No gpgmepp API to call gpgme_set_global_flag"
# * external/gpgmepp/version.patch upstream at <https://dev.gnupg.org/T4168> "gpgme: `make dist`
# introduced VERSION can clash with new C++ <version>":
$(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
external/gpgmepp/find-libgpg-error-libassuan.patch \
external/gpgmepp/fix-autoconf-macros.patch \
@@ -27,11 +23,9 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-fix-libtool.patch.1) \
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-add-initializer.patch.1) \
external/gpgmepp/w32-build-fixes-2.patch \
external/gpgmepp/add-gpgme_set_global_flag-wrapper.patch \
$(if $(filter LINUX,$(OS)),external/gpgmepp/asan.patch) \
$(if $(filter LINUX,$(OS)),external/gpgmepp/rpath.patch) \
external/gpgmepp/gcc9.patch \
external/gpgmepp/version.patch \
external/gpgmepp/ubsan.patch \
))
# vim: set noet sw=4 ts=4:

View File

@@ -1,27 +0,0 @@
diff -ur lang/cpp/src/context.cpp.old lang/cpp/src/context.cpp
--- lang/cpp/src/context.cpp.old 2019-04-20 16:03:09.575605300 +0300
+++ lang/cpp/src/context.cpp 2019-04-20 16:06:43.078419700 +0300
@@ -1656,6 +1656,11 @@
return Error(gpgme_engine_check_version(p));
}
+int GpgME::setGlobalFlag(const char *name, const char *value)
+{
+ return gpgme_set_global_flag(name, value);
+}
+
static const unsigned long supported_features = 0
| GpgME::ValidatingKeylistModeFeature
| GpgME::CancelOperationFeature
diff -ur lang/cpp/src/global.h lang/cpp/src/global.h
--- lang/cpp/src/global.h.old 2016-09-07 09:48:44.000000000 +0300
+++ lang/cpp/src/global.h 2019-04-20 16:06:41.918912600 +0300
@@ -95,6 +95,8 @@
GPGMEPP_EXPORT Error checkEngine(Protocol proto);
GPGMEPP_EXPORT Error checkEngine(Engine engine);
+GPGMEPP_EXPORT int setGlobalFlag(const char *name, const char *value);
+
GPGMEPP_EXPORT GIOChannel *getGIOChannel(int fd);
GPGMEPP_EXPORT QIODevice *getQIODevice(int fd);

View File

@@ -26,8 +26,8 @@
{
d->lastop = Private::Export;
Data::Private *const dp = keyData.impl();
- return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, 0, dp ? dp->data : 0));
+ return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : 0));
- return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, 0, dp ? dp->data : nullptr));
+ return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr));
}
-Error Context::exportPublicKeys(const char *patterns[], Data &keyData)
@@ -39,8 +39,8 @@
}
#endif
Data::Private *const dp = keyData.impl();
- return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, 0, dp ? dp->data : 0));
+ return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : 0));
- return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, 0, dp ? dp->data : nullptr));
+ return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr));
}
-Error Context::startPublicKeyExport(const char *pattern, Data &keyData)
@@ -48,8 +48,8 @@
{
d->lastop = Private::Export;
Data::Private *const dp = keyData.impl();
- return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, 0, dp ? dp->data : 0));
+ return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : 0));
- return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, 0, dp ? dp->data : nullptr));
+ return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr));
}
-Error Context::startPublicKeyExport(const char *patterns[], Data &keyData)
@@ -61,8 +61,8 @@
}
#endif
Data::Private *const dp = keyData.impl();
- return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, 0, dp ? dp->data : 0));
+ return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : 0));
- return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, 0, dp ? dp->data : nullptr));
+ return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr));
}
ImportResult Context::importKeys(const Data &data)

View File

@@ -44,15 +44,27 @@ diff --git a/src/Makefile.am b/src/Makefile.am
index ce6f1d4..6b1d835 100644
--- src/Makefile.am
+++ src/Makefile.am
@@ -97,10 +97,10 @@ endif
@@ -26,7 +26,7 @@
m4data_DATA = gpgme.m4
nodist_include_HEADERS = gpgme.h
# We use a global CFLAGS setting for all library
-bin_PROGRAMS = gpgme-tool gpgme-json
+bin_PROGRAMS = gpgme-tool
if BUILD_W32_GLIB
ltlib_gpgme_glib = libgpgme-glib.la
@@ -97,13 +97,10 @@
# We use a global CFLAGS setting for all libraries
# versions, because then every object file is only compiled once.
-AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GLIB_CFLAGS@
+AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@ @GLIB_CFLAGS@
gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h
-gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@
-
-gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h
-gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
+gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@

View File

@@ -2,21 +2,21 @@ diff -ur gpgme.org/configure.ac gpgme/configure.ac
--- configure.ac 2017-02-16 15:18:45.051417378 +0100
+++ configure.ac~ 2017-02-16 15:20:03.635059285 +0100
@@ -35,6 +35,11 @@
# decimalized short revision number, a beta version string, and a flag
# indicating a development version (mym4_isgit). Note that the m4
# processing is done by autoconf and not during the configure run.
# the decimalized short revision number, a beta version string and a
# flag indicating a development version (mym4_isbeta). Note that the
# m4 processing is done by autoconf and not during the configure run.
+m4_define([m4_chomp_all],
+[m4_format([[%.*s]], m4_bregexp(m4_translit([[$1]], [
+/], [/ ]), [/*$]), [$1])])
+
+m4_define([m4_esyscmd_s], [m4_chomp_all(m4_esyscmd([$1]))])
m4_define(mym4_version,
[mym4_version_major.mym4_version_minor.mym4_version_micro])
m4_define([mym4_revision],
m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \
mym4_package mym4_major mym4_minor mym4_micro),[:]))
m4_define([mym4_isbeta], m4_argn(2, mym4_verslist))
@@ -90,7 +90,22 @@
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(src/gpgme.h.in)
AC_CONFIG_HEADER(config.h)
AC_CONFIG_HEADER(conf/config.h)
-AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip])
+
+dnl Initialize automake. automake < 1.12 didn't have serial-tests and

View File

@@ -1,4 +0,0 @@
--- VERSION
+++ /dev/null
@@ -1,1 +0,0 @@
-1.9.0

View File

@@ -10,3 +10,13 @@ Avoid MFC dependency - can go with very basic includes instead
VS_VERSION_INFO VERSIONINFO
--- lang/cpp/src/importresult.cpp~ 2020-06-11 16:00:46.410830500 +0200
+++ lang/cpp/src/importresult.cpp 2020-06-11 16:00:25.987900000 +0200
@@ -35,7 +35,6 @@
#include <cstring>
#include <string.h>
-#include <strings.h>
#include <istream>
#include <iterator>

View File

@@ -11,5 +11,5 @@ diff -ur gpgmepp.org/Makefile.am gpgmepp/Makefile.am
-SUBDIRS = src ${tests} doc lang
+SUBDIRS = src ${tests} lang
# Fix the version of the spec file and create a file named VERSION
# to be used for patch's Prereq: feature.
# Fix the version of the spec file.
dist-hook: gen-ChangeLog

View File

@@ -15,7 +15,7 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
ifeq ($(OS),LINUX)
$(eval $(call gb_ExternalPackage_add_file,libassuan,$(LIBO_LIB_FOLDER)/libassuan.so.0,src/.libs/libassuan.so.0.8.1))
$(eval $(call gb_ExternalPackage_add_file,libassuan,$(LIBO_LIB_FOLDER)/libassuan.so.0,src/.libs/libassuan.so.0.8.3))
else ifeq ($(OS),MACOSX)

View File

@@ -1,23 +1,8 @@
diff -ur libassuan.org/configure.ac libassuan/configure.ac
--- configure.ac 2017-02-16 18:32:51.549527554 +0100
+++ configure.ac~ 2017-02-16 18:32:59.893497890 +0100
@@ -44,6 +44,14 @@
# the decimalized short revision number, a beta version string and a
# flag indicating a development version (mym4_isbeta). Note that the
# m4 processing is done by autoconf and not during the configure run.
+m4_define([m4_chomp_all],
+[m4_format([[%.*s]], m4_bregexp(m4_translit([[$1]], [
+/], [/ ]), [/*$]), [$1])])
+
+m4_define([m4_argn],
+[m4_assert([0 < $1])]dnl
+[m4_pushdef([_$0], [_m4_popdef([_$0])]m4_dquote([$]m4_incr([$1])))_$0($@)])
+m4_define([m4_esyscmd_s], [m4_chomp_all(m4_esyscmd([$1]))])
m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \
mym4_package mym4_major mym4_minor mym4_micro),[:]))
m4_define([mym4_isbeta], m4_argn(2, mym4_verslist))
@@ -75,7 +80,22 @@
VERSION=$PACKAGE_VERSION
AC_SUBST(LIBASSUAN_LT_REVISION)
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip])
@@ -40,17 +25,3 @@ diff -ur libassuan.org/configure.ac libassuan/configure.ac
AM_MAINTAINER_MODE
AC_CONFIG_SRCDIR(src/assuan.h.in)
AC_CONFIG_MACRO_DIR(m4)
@@ -475,10 +475,12 @@
[Defined if LOCAL_PEEREID is supported (NetBSD specific)])
else
# (Open)Solaris
- AC_CHECK_FUNCS([getpeerucred], AC_CHECK_HEADERS([ucred.h]))
+ AC_CHECK_FUNCS([getpeerucred])
if test $ac_cv_func_getpeerucred != yes; then
# FreeBSD
AC_CHECK_FUNCS([getpeereid])
+ else
+ AC_CHECK_HEADERS([ucred.h])
fi
fi
fi

View File

@@ -1,14 +1,3 @@
--- libassuan/src/Makefile.am
+++ libassuan/src/Makefile.am
@@ -81,7 +81,7 @@
if HAVE_W32_SYSTEM
-LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
+LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RC) \
`echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
--- libassuan.orig/src/mkheader.c 2013-03-15 20:26:09.000000000 +0100
+++ libassuan/src/mkheader.c 2017-09-24 14:17:33.584583300 +0200
@@ -99,7 +99,7 @@
@@ -20,24 +9,43 @@
}
else if (!strcmp (tag, "include:types"))
{
diff -ru libassuan.orig/src/Makefile.in libassuan/src/Makefile.in
--- libassuan.orig/src/Makefile.in 2020-06-10 17:26:08.699728800 +0200
+++ libassuan/src/Makefile.in 2020-06-10 17:22:11.066865300 +0200
@@ -462,7 +462,7 @@
assuan-pipe-connect.c assuan-socket-connect.c assuan-uds.c \
assuan-logging.c assuan-socket.c $(am__append_2) \
$(am__append_3) $(am__append_4)
+@HAVE_W32_SYSTEM_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RC) \
-@HAVE_W32_SYSTEM_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
@HAVE_W32_SYSTEM_TRUE@ `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
@HAVE_W32_SYSTEM_TRUE@ sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
diff -ru libassuan.orig/src/Makefile.am libassuan/src/Makefile.am
--- libassuan.orig/src/Makefile.am 2017-09-24 14:20:05.906065400 +0200
+++ libassuan/src/Makefile.am 2017-09-24 14:40:59.038850200 +0200
@@ -142,11 +142,11 @@
@@ -87,7 +87,7 @@
if HAVE_W32_SYSTEM
+LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RC) \
-LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
`echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
@@ -148,9 +148,9 @@
$(DESTDIR)$(bindir)/gpgcedev.dll
endif
-mkheader: mkheader.c Makefile
+mkheader$(EXEEXT): mkheader.c Makefile
-mkheader: mkheader.c Makefile
$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c
-assuan.h: assuan.h.in mkheader $(parts_of_assuan_h)
- ./mkheader $(host_os) $(srcdir)/assuan.h.in \
+assuan.h: assuan.h.in mkheader$(EXEEXT) $(parts_of_assuan_h)
+ ./mkheader$(EXEEXT) $(host_os) $(srcdir)/assuan.h.in \
@VERSION@ @VERSION_NUMBER@ >$@
-assuan.h: assuan.h.in mkheader $(parts_of_assuan_h)
- ./mkheader $(host_os) $(srcdir)/assuan.h.in \
$(PACKAGE_VERSION) $(VERSION_NUMBER) >$@
diff -ru libassuan.orig/src/assuan-handler.c libassuan/src/assuan-handler.c
--- libassuan.orig/src/assuan-handler.c 2016-06-25 16:27:49.000000000 +0200
+++ libassuan/src/assuan-handler.c 2017-09-24 15:32:51.200956200 +0200

View File

@@ -15,7 +15,7 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
ifeq ($(OS),LINUX)
$(eval $(call gb_ExternalPackage_add_file,libgpg-error,$(LIBO_LIB_FOLDER)/libgpg-error-lo.so.0,src/.libs/libgpg-error-lo.so.0.22.0))
$(eval $(call gb_ExternalPackage_add_file,libgpg-error,$(LIBO_LIB_FOLDER)/libgpg-error-lo.so.0,src/.libs/libgpg-error-lo.so.0.28.0))
else ifeq ($(OS),MACOSX)

View File

@@ -13,16 +13,13 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libgpg-error,$(LIBGPGERROR_TARBALL)
$(eval $(call gb_UnpackedTarball_set_patchlevel,libgpg-error,0))
# clang-cl.patch src/gpgrt-int.h part upstream at <https://dev.gnupg.org/T4356> "Declaration of
# _gpgrt_functions_w32_pollable in src/gpgrt-int.h should be extern"
$(eval $(call gb_UnpackedTarball_add_patches,libgpg-error, \
external/libgpg-error/libgpg-error_gawk5.patch \
$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes.patch) \
$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes-2.patch.1) \
$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes-3.patch.1) \
$(if $(filter MSC,$(COM)),external/libgpg-error/w32-disable-dllinit.patch.1) \
external/libgpg-error/w32-build-fixes-4.patch \
external/libgpg-error/clang-cl.patch \
$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes-5.patch) \
$(if $(filter LINUX,$(OS)),external/libgpg-error/libgpgerror-bundled-soname.patch.1) \
))

View File

@@ -1,22 +0,0 @@
--- src/gpg-error.h.in
+++ src/gpg-error.h.in
@@ -141,7 +141,7 @@
/* GCC feature test. */
-#if __GNUC__
+#if defined __GNUC__
# define _GPG_ERR_GCC_VERSION (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
+ __GNUC_PATCHLEVEL__)
--- src/gpgrt-int.h
+++ src/gpgrt-int.h
@@ -359,7 +359,7 @@
#if _WIN32
/* Prototypes for w32-estream.c. */
-struct cookie_io_functions_s _gpgrt_functions_w32_pollable;
+extern struct cookie_io_functions_s _gpgrt_functions_w32_pollable;
int _gpgrt_w32_pollable_create (void *_GPGRT__RESTRICT *_GPGRT__RESTRICT cookie,
unsigned int modeflags,
struct cookie_io_functions_s next_functions,

View File

@@ -1,114 +0,0 @@
--- src/Makefile.am
+++ src/Makefile.am~
@@ -266,7 +266,7 @@
errnos-sym.h: Makefile mkstrtable.awk errnos.in
$(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \
- -v prefix=GPG_ERR_ -v namespace=errnos_ \
+ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
$(srcdir)/errnos.in >$@
--- src/mkerrcodes.awk
+++ src/mkerrcodes.awk~
@@ -81,7 +81,7 @@
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
--- src/mkerrcodes1.awk
+++ src/mkerrcodes1.awk~
@@ -81,7 +81,7 @@
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
--- src/mkerrcodes2.awk
+++ src/mkerrcodes2.awk~
@@ -91,7 +91,7 @@
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
--- src/mkerrnos.awk
+++ src/mkerrnos.awk~
@@ -83,7 +83,7 @@
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
--- src/mkstrtable.awk
+++ src/mkstrtable.awk~
@@ -77,7 +77,7 @@
#
# The variable prefix can be used to prepend a string to each message.
#
-# The variable namespace can be used to prepend a string to each
+# The variable pkg_namespace can be used to prepend a string to each
# variable and macro name.
BEGIN {
@@ -102,7 +102,7 @@
print "/* The purpose of this complex string table is to produce";
print " optimal code with a minimum of relocations. */";
print "";
- print "static const char " namespace "msgstr[] = ";
+ print "static const char " pkg_namespace "msgstr[] = ";
header = 0;
}
else
@@ -110,7 +110,7 @@
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
@@ -150,7 +150,7 @@
else
print " gettext_noop (\"" last_msgstr "\");";
print "";
- print "static const int " namespace "msgidx[] =";
+ print "static const int " pkg_namespace "msgidx[] =";
print " {";
for (i = 0; i < coded_msgs; i++)
print " " pos[i] ",";
@@ -158,7 +158,7 @@
print " };";
print "";
print "static GPG_ERR_INLINE int";
- print namespace "msgidxof (int code)";
+ print pkg_namespace "msgidxof (int code)";
print "{";
print " return (0 ? 0";
--- src/Makefile.in
+++ src/Makefile.in~
@@ -1321,7 +1321,7 @@
errnos-sym.h: Makefile mkstrtable.awk errnos.in
$(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \
- -v prefix=GPG_ERR_ -v namespace=errnos_ \
+ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
$(srcdir)/errnos.in >$@
mkheader: mkheader.c Makefile

View File

@@ -3,7 +3,7 @@
@@ -540,7 +540,7 @@
@HAVE_LD_VERSION_SCRIPT_TRUE@libgpg_error_vers_opt = -Wl,--version-script=$(srcdir)/gpg-error.vers
libgpg_error_la_LDFLAGS = \
$(no_undefined) $(export_symbols) $(libgpg_error_vers_opt) \
-no-undefined $(export_symbols) $(libgpg_error_vers_opt) \
- $(extra_ltoptions) -version-info \
+ $(extra_ltoptions) -release lo -version-info \
@LIBGPG_ERROR_LT_CURRENT@:@LIBGPG_ERROR_LT_REVISION@:@LIBGPG_ERROR_LT_AGE@

View File

@@ -3,7 +3,7 @@ diff -ru libgpg-error.orig/src/Makefile.in libgpg-error/src/Makefile.in
+++ libgpg-error/src/Makefile.in 2017-09-12 08:57:11.648083800 +0200
@@ -512,8 +512,7 @@
@HAVE_W32_SYSTEM_TRUE@arch_sources = w32-gettext.c w32-lock.c w32-lock-obj.h w32-thread.c \
@HAVE_W32_SYSTEM_TRUE@ w32-iconv.c w32-estream.c
@HAVE_W32_SYSTEM_TRUE@ w32-iconv.c w32-estream.c w32-reg.c spawn-w32.c
-@HAVE_W32_SYSTEM_TRUE@RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-@HAVE_W32_SYSTEM_TRUE@ -DLOCALEDIR=\"$(localedir)\" $(AM_CPPFLAGS) $(CPPFLAGS)

View File

@@ -0,0 +1,144 @@
--- src/gpg-error.c 2020-06-06 00:18:40.199791000 +0200
+++ src/gpg-error.c~ 2020-06-05 18:44:14.223182300 +0200
@@ -61,6 +61,11 @@
#define drop_locale_dir(dir)
#endif
+#ifdef _WIN32
+# define strncasecmp _strnicmp
+# define strcasecmp _stricmp
+#endif
+
static void
i18n_init (void)
{
--- src/logging.c 2020-06-05 18:58:59.254413200 +0200
+++ src/logging.c~ 2019-12-12 15:23:37.000000000 +0100
@@ -44,7 +44,11 @@
# include <netinet/in.h>
# include <arpa/inet.h>
#endif /*!HAVE_W32_SYSTEM*/
+#ifdef _WIN32
+# include <io.h>
+#else
+# include <unistd.h>
+#endif
-#include <unistd.h>
#include <fcntl.h>
/* #include <execinfo.h> */
@@ -57,6 +53,15 @@
#ifdef HAVE_W32_SYSTEM
+# ifndef S_IRUSR
+# define S_IRUSR _S_IREAD
+# endif
+# ifndef S_IWUSR
+# define S_IWUSR _S_IWRITE
+# endif
+# ifndef S_IXUSR
+# define S_IXUSR 0x00400000
+# endif
# ifndef S_IRWXG
# define S_IRGRP S_IRUSR
# define S_IWGRP S_IWUSR
--- src/Makefile.am 2020-06-06 01:01:31.931459300 +0200
+++ src/Makefile.am~ 2020-02-06 18:39:06.000000000 +0100
@@ -213,7 +213,7 @@
# without the extra_cppflags because they may include am -idirafter
# which is not supported by the RC compiler.
libgpg_error_la_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" $(extra_cppflags)
+libgpg_error_la_LIBADD = $(gpg_error_res) $(intllibs) $(socklibs) -ladvapi32 $(LIBTHREAD)
-libgpg_error_la_LIBADD = $(gpg_error_res) $(intllibs) $(socklibs) $(LIBTHREAD)
gpg_error_SOURCES = strsource-sym.c strerror-sym.c gpg-error.c
gpg_error_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" \
--- src/Makefile.in 2020-06-06 01:01:31.931459300 +0200
+++ src/Makefile.in~ 2020-02-06 18:39:06.000000000 +0100
@@ -659,7 +659,7 @@
# without the extra_cppflags because they may include am -idirafter
# which is not supported by the RC compiler.
libgpg_error_la_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" $(extra_cppflags)
+libgpg_error_la_LIBADD = $(gpg_error_res) $(intllibs) $(socklibs) -ladvapi32 $(LIBTHREAD)
-libgpg_error_la_LIBADD = $(gpg_error_res) $(intllibs) $(socklibs) $(LIBTHREAD)
gpg_error_SOURCES = strsource-sym.c strerror-sym.c gpg-error.c
gpg_error_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" \
-DLOCALEDIR=\"$(localedir)\" $(extra_cppflags)
--- src/spawn-w32.c 2020-06-05 18:47:05.807099200 +0200
+++ src/spawn-w32.c~ 2020-06-05 18:44:14.114035900 +0200
@@ -834,7 +834,11 @@
/* We don't use ENVP. */
(void)envp;
+#ifdef _WIN32
+ if (_access (pgmname, 04))
+#else
if (access (pgmname, X_OK))
+#endif
return _gpg_err_code_from_syserror ();
/* Prepare security attributes. */
--- src/sysutils.c 2020-06-06 00:23:52.457265500 +0200
+++ src/sysutils.c~ 2019-12-12 15:23:37.000000000 +0100
@@ -22,7 +22,11 @@
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
+#ifdef _WIN32
+# include <io.h>
+#else
+# include <unistd.h>
+#endif
-#include <unistd.h>
#include <errno.h>
#ifdef HAVE_W32_SYSTEM
# include <windows.h>
@@ -274,11 +270,12 @@
gpg_err_code_t
_gpgrt_mkdir (const char *name, const char *modestr)
{
+#ifdef _WIN32
-#ifdef HAVE_W32CE_SYSTEM
wchar_t *wname;
(void)modestr;
+ size_t size;
+ wname = utf8_to_wchar (name, -1, &size);
- wname = utf8_to_wchar (name);
if (!wname)
return _gpg_err_code_from_syserror ();
if (!CreateDirectoryW (wname, NULL))
--- src/visibility.c 2020-06-05 18:54:56.410442900 +0200
+++ src/visibility.c~ 2019-01-04 12:56:54.000000000 +0100
@@ -1067,11 +1067,7 @@
_gpgrt_log_assert (const char *expr, const char *file,
int line, const char *func)
{
-#ifdef GPGRT_HAVE_MACRO_FUNCTION
_gpgrt__log_assert (expr, file, line, func);
-#else
- _gpgrt__log_assert (expr, file, line);
-#endif
}
--- src/w32-add.h 2020-06-06 00:32:38.502203300 +0200
+++ src/w32-add.h~ 2018-12-07 14:48:19.000000000 +0100
@@ -65,3 +65,5 @@
char *gpgrt_w32_reg_query_string (const char *root,
const char *dir,
const char *name);
+
+wchar_t *utf8_to_wchar (const char *string, size_t length, size_t *retlen);
--- src/w32-gettext.c 2020-06-06 00:33:24.680341900 +0200
+++ src/w32-gettext.c~ 2020-06-05 18:44:14.254481700 +0200
@@ -1355,7 +1355,7 @@
string STRING. Caller must free this value. On failure returns
NULL. The result of calling this function with STRING set to NULL
is not defined. */
+wchar_t *
-static wchar_t *
utf8_to_wchar (const char *string, size_t length, size_t *retlen)
{
int n;

View File

@@ -52,107 +52,6 @@ diff -ur libgpg-error.org/src/estream-printf.c libgpg-error/src/estream-printf.c
#include <stdarg.h>
#include <errno.h>
#include <stddef.h>
--- src/Makefile.am 2017-02-28 13:33:38.000000000 +0100
+++ src/Makefile.am~ 2017-09-10 21:52:19.739988146 +0200
@@ -99,9 +99,9 @@
CLEANFILES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \
gpg-error.h gpgrt.h \
- mkerrcodes mkerrcodes.h gpg-error.def mkw32errmap.tab.h \
+ mkerrcodes.exe mkerrcodes.h gpg-error.def mkw32errmap.tab.h \
mkw32errmap.map.c err-sources-sym.h err-codes-sym.h errnos-sym.h \
- gpg-extra/errno.h mkheader $(tmp_files) lock-obj-pub.native.h
+ gpg-extra/errno.h mkheader.exe $(tmp_files) lock-obj-pub.native.h
#
@@ -251,7 +251,7 @@
# It is correct to use $(CC_FOR_BUILD) here. We want to run the
# program at build time.
-mkerrcodes: mkerrcodes.c mkerrcodes.h Makefile
+mkerrcodes.exe: mkerrcodes.c mkerrcodes.h Makefile
$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkerrcodes.c
if HAVE_W32CE_SYSTEM
@@ -261,7 +261,7 @@
$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkw32errmap.c
endif
-code-from-errno.h: mkerrcodes Makefile
+code-from-errno.h: mkerrcodes.exe Makefile
./mkerrcodes | $(AWK) -f $(srcdir)/mkerrcodes2.awk >$@
errnos-sym.h: Makefile mkstrtable.awk errnos.in
@@ -270,7 +270,7 @@
$(srcdir)/errnos.in >$@
-mkheader: mkheader.c Makefile
+mkheader.exe: mkheader.c Makefile
$(CC_FOR_BUILD) -g -O0 -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c
parts_of_gpg_error_h = \
@@ -297,7 +297,7 @@
# We also depend on versioninfo.rc because that is build by
# config.status and thus has up-to-date version numbers.
-gpg-error.h: Makefile mkheader $(parts_of_gpg_error_h) \
+gpg-error.h: Makefile mkheader.exe $(parts_of_gpg_error_h) \
versioninfo.rc ../config.h
$(pre_mkheader_cmds)
./mkheader $(host_os) $(host_triplet) $(srcdir)/gpg-error.h.in \
diff -ru libgpg-error.orig/src/Makefile.in libgpg-error/src/Makefile.in
--- src/Makefile.in 2017-02-28 15:03:41.000000000 +0100
+++ src/Makefile.in~ 2017-09-10 21:53:48.447987149 +0200
@@ -493,9 +493,9 @@
tmp_files = _mkerrcodes.h _gpg-error.def.h mkw32errmap.tab.h mkw32errmap.map.c
CLEANFILES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \
gpg-error.h gpgrt.h \
- mkerrcodes mkerrcodes.h gpg-error.def mkw32errmap.tab.h \
+ mkerrcodes.exe mkerrcodes.h gpg-error.def mkw32errmap.tab.h \
mkw32errmap.map.c err-sources-sym.h err-codes-sym.h errnos-sym.h \
- gpg-extra/errno.h mkheader $(tmp_files) lock-obj-pub.native.h
+ gpg-extra/errno.h mkheader.exe $(tmp_files) lock-obj-pub.native.h
#
@@ -1309,7 +1309,7 @@
# It is correct to use $(CC_FOR_BUILD) here. We want to run the
# program at build time.
-mkerrcodes: mkerrcodes.c mkerrcodes.h Makefile
+mkerrcodes.exe: mkerrcodes.c mkerrcodes.h Makefile
$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkerrcodes.c
# It is correct to use $(CC_FOR_BUILD) here. We want to run the
@@ -1317,7 +1317,7 @@
@HAVE_W32CE_SYSTEM_TRUE@mkw32errmap: mkw32errmap.c mkw32errmap.tab.h Makefile
@HAVE_W32CE_SYSTEM_TRUE@ $(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkw32errmap.c
-code-from-errno.h: mkerrcodes Makefile
+code-from-errno.h: mkerrcodes.exe Makefile
./mkerrcodes | $(AWK) -f $(srcdir)/mkerrcodes2.awk >$@
errnos-sym.h: Makefile mkstrtable.awk errnos.in
@@ -1325,7 +1325,7 @@
-v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
$(srcdir)/errnos.in >$@
-mkheader: mkheader.c Makefile
+mkheader.exe: mkheader.c Makefile
$(CC_FOR_BUILD) -g -O0 -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c
@FORCE_USE_SYSCFG_FALSE@./lock-obj-pub.native.h: Makefile gen-posix-lock-obj$(EXEEXT) posix-lock-obj.h
@@ -1333,7 +1333,7 @@
# We also depend on versioninfo.rc because that is build by
# config.status and thus has up-to-date version numbers.
-gpg-error.h: Makefile mkheader $(parts_of_gpg_error_h) \
+gpg-error.h: Makefile mkheader.exe $(parts_of_gpg_error_h) \
versioninfo.rc ../config.h
$(pre_mkheader_cmds)
./mkheader $(host_os) $(host_triplet) $(srcdir)/gpg-error.h.in \
--- src/mkheader.c 2016-11-16 13:22:03.000000000 +0100
+++ src/mkheader.c~ 2017-02-19 17:35:32.172009000 +0100
@@ -16,7 +16,11 @@
@@ -204,3 +103,19 @@ diff -ur libgpg-error.org/src/w32-estream.c libgpg-error/src/w32-estream.c
/*
* In order to support es_poll on Windows, we create a proxy shim that
* we use as the estream I/O functions. This shim creates reader and
--- src/spawn-w32.c 2019-08-22 12:30:38.000000000 +0200
+++ src/spawn-w32.c~ 2020-05-26 01:37:17.759077700 +0200
@@ -34,7 +34,11 @@
#ifdef HAVE_SIGNAL_H
# include <signal.h>
#endif
-#include <unistd.h>
+#ifdef _WIN32
+# include <io.h>
+#else
+# include <unistd.h>
+#endif
#include <fcntl.h>
#ifdef HAVE_STAT
# include <sys/stat.h>