[vlc-commits] [Git][videolan/vlc][3.0.x] 14 commits: contrib: ssh2: use Require instead of hardcoding library names
Felix Paul Kühne (@fkuehne)
gitlab at videolan.org
Fri May 29 13:25:30 UTC 2026
Felix Paul Kühne pushed to branch 3.0.x at VideoLAN / VLC
Commits:
9624441c by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: ssh2: use Require instead of hardcoding library names
It handles better the circular dependencies and order when linking with sftp.
- - - - -
42adb3e2 by Marvin Scholz at 2026-05-29T14:04:10+02:00
contrib: gpg-error: Remove Tizen specific rules
(cherry picked from commit 7369bb7287f4578427cc3dac6f89cacc7a5ee28a) (rebased)
rebased:
- VLC 4 had more patches around
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
3b25f844 by Alexandre Janniaux at 2026-05-29T14:04:10+02:00
contrib: gpg-error: fix darwin triplet handling
de-versionning was done before alias selection, and armv7-apple-darwin
wasn't aliased to arm-apple-darwin, leading to failure finding the
correct triplet.
(cherry picked from commit 0d062895184d6b859e537ab087eeea7381cc4daf)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
5b4d4087 by Rémi Denis-Courmont at 2026-05-29T14:04:10+02:00
contrib: gpg-error: remove broken Android hacks
Proper handling of errors and interrupts of course requires that the
target only exists on succesful completion. .DELETE_ON_ERROR cannot be
used for directories. The contribs source README indeed has required to
keep $(MOVE) for as long as the current incarnation of contribs has
existed.
This hack is no longer necessary anyway as per the previous change.
(cherry picked from commit 7c047fa9d9ba82b699cb4acf3eb4e94ed2f2c404) (rebased)
rebased:
- the patches around are slightly different
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
e009ce2d by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: disable executables via the make call
(cherry picked from commit 708dc5ba9992f79f2dde48239586448dd5440f69) (rebased)
rebased:
- the patches around are slightly different
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
becc3f45 by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: update to 1.49
gcrypt requires gpg-error via pkg-config in static builds so we should
require a gpg-error version with the .pc file.
It contains a .pc file since 1.33 which was released in 2018.
After 1.49 the library adds process spawning which doesn't compile on my
of our platforms.
(cherry picked from commit 7aa97996ebd5e09392e8e6f31eb31a30bd6dcbdb) (edited)
edited:
- VLC 3 doesn't use call update_autoconfig
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
96ae54c5 by Martin Storsjö at 2026-05-29T14:04:10+02:00
contrib: gpg-error: Fix the WCHAR patch to use the right *cpy function
This fixes build errors with current Clang versions, due to the
mismatched pointers with strcpy.
The previous form of this patch errored out like this:
../../src/estream.c:5104:11: error: incompatible pointer
types passing 'WCHAR *' (aka 'unsigned short *') to parameter of type 'char *' [-Wincompatible-pointer-types]
5104 | strcpy (p, "_estream");
| ^
/opt/llvm-mingw/aarch64-w64-mingw32/include/string.h:61:45: note:
passing argument to parameter '_Dest' here
61 | char * __cdecl strcpy(char * __restrict__ _Dest,const char * __restrict__ _Source);
| ^
(cherry picked from commit 3f0a3546730d5fa97aa257200954a5f0c117a797)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
ab1387ce by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: do not use threading
The only code using gpg-error is gcrypt (and VLC to get error values).
It doesn't use estreams or the threading API provided by gpg-error.
This allows to build on all platforms without having to figure out
which GPGRT_LOCK_INITIALIZER to use.
(cherry picked from commit 3738e7799d1c0baf7b881ad699ac4294cec6495d) (rebased)
rebased:
- VLC 3 doesn't use call update_autoconfig
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
79c589a0 by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: fix --disable-threads usage
The locking API is still called with Win32/POSIX structures even though the locks
are not defined the same way with --disable-threads.
We just turn the locking code off in --disable-threads (locking does nothing).
Fixes a crash on exit on Windows where _gpgrt_fflush (NULL) is always called,
locking estream_list_lock that is not initialized as expected.
(cherry picked from commit de7ff2b6ccf34212cf737b5ddc24da67cebb99f6)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
0a20e1aa by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: update to 1.56
(cherry picked from commit f581aa285168adc7bbc024206cdf87a37a1bfe3e)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
252e397a by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: use ANSI version of Environment API's as the rest of the code
When setting -DUNICODE in UWP builds it doesn't match the API.
(cherry picked from commit ed1037d9add05553f54ccc6a69409012d2a4e466)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
76b5ca27 by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: disable more unused UWP code
- - - - -
a939201d by Steve Lhomme at 2026-05-29T14:04:10+02:00
contrib: gpg-error: disable registry access in UWP
- - - - -
d8f5cc95 by Steve Lhomme at 2026-05-29T14:04:10+02:00
NEWS: add gpg-error update
- - - - -
27 changed files:
- NEWS
- + contrib/src/gpg-error/0004-use-WCHAR-API-for-temporary-windows-folder.patch
- + contrib/src/gpg-error/0007-don-t-use-GetThreadLocale-on-UWP.patch
- + contrib/src/gpg-error/0008-don-t-use-GetUserNameW-on-Windows-10.patch
- + contrib/src/gpg-error/0009-gpg-error-config.in-add-missing-GPG_ERROR_CONFIG_LIB.patch
- + contrib/src/gpg-error/0011-logging-add-ws2tcpip.h-include-for-proper-inet_pton-.patch
- + contrib/src/gpg-error/0012-use-GetCurrentProcessId-in-UWP.patch
- + contrib/src/gpg-error/0013-configure-allow-building-Windows-with-disable-thread.patch
- + contrib/src/gpg-error/0014-core-disable-locking-API-with-disable-threads.patch
- + contrib/src/gpg-error/0015-core-disable-process-spawning-with-disable-threads.patch
- + contrib/src/gpg-error/0016-core-disable-registry-access-in-UWP.patch
- contrib/src/gpg-error/SHA512SUMS
- − contrib/src/gpg-error/darwin-triplet.patch
- contrib/src/gpg-error/gpg-error-createfile2.patch
- contrib/src/gpg-error/gpg-error-uwp-GetFileSize.patch
- contrib/src/gpg-error/gpg-error-uwp-fix.patch
- − contrib/src/gpg-error/lock-obj-pub.posix.h
- − contrib/src/gpg-error/missing-unistd-include.patch
- − contrib/src/gpg-error/no-executable.patch
- contrib/src/gpg-error/rules.mak
- − contrib/src/gpg-error/version-bump-gawk-5.patch
- − contrib/src/gpg-error/win32-extern-struct.patch
- − contrib/src/gpg-error/win32-unicode.patch
- − contrib/src/gpg-error/windres-make.patch
- − contrib/src/gpg-error/winrt.patch
- − contrib/src/ssh2/0001-fix-gcrypt-linking.patch
- contrib/src/ssh2/rules.mak
Changes:
=====================================
NEWS
=====================================
@@ -28,6 +28,7 @@ Contrib:
* Update flac to 1.4.2
* Update FFmpeg to 8.1
* Update gme to 0.6.4
+ * Update gpg-error to 1.56
* Update jpeg to v9f
* Update libtasn1 to 4.19.0
* Update libxml2 to 2.15.1
=====================================
contrib/src/gpg-error/0004-use-WCHAR-API-for-temporary-windows-folder.patch
=====================================
@@ -0,0 +1,61 @@
+From 1def00f0b864977a7477219c5a8277fcc0e8b9a3 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:17:08 +0200
+Subject: [PATCH 04/14] use WCHAR API for temporary windows folder
+
+---
+ src/estream.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/estream.c b/src/estream.c
+index 7e1d55c..6062001 100644
+--- a/src/estream.c
++++ b/src/estream.c
+@@ -5115,27 +5115,27 @@ tmpfd (void)
+ {
+ #ifdef HAVE_W32_SYSTEM
+ int attempts, n;
+- char buffer[MAX_PATH+9+12+1];
+-# define mystrlen(a) strlen (a)
+- char *name, *p;
++ WCHAR buffer[MAX_PATH+9+12+1];
++# define mystrlen(a) wcslen (a)
++ WCHAR *name, *p;
+ HANDLE file;
+ int pid = GetCurrentProcessId ();
+ unsigned int value;
+ int i;
+
+- n = GetTempPath (MAX_PATH+1, buffer);
++ n = GetTempPathW (MAX_PATH+1, buffer);
+ if (!n || n > MAX_PATH || mystrlen (buffer) > MAX_PATH)
+ {
+ _set_errno (ENOENT);
+ return -1;
+ }
+ p = buffer + mystrlen (buffer);
+- strcpy (p, "_estream");
++ wcscpy (p, L"_estream");
+ p += 8;
+ /* We try to create the directory but don't care about an error as
+ it may already exist and the CreateFile would throw an error
+ anyway. */
+- CreateDirectory (buffer, NULL);
++ CreateDirectoryW (buffer, NULL);
+ *p++ = '\\';
+ name = p;
+ for (attempts=0; attempts < 10; attempts++)
+@@ -5147,8 +5147,8 @@ tmpfd (void)
+ *p++ = tohex (((value >> 28) & 0x0f));
+ value <<= 4;
+ }
+- strcpy (p, ".tmp");
+- file = CreateFile (buffer,
++ wcscpy (p, L".tmp");
++ file = CreateFileW (buffer,
+ GENERIC_READ | GENERIC_WRITE,
+ 0,
+ NULL,
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0007-don-t-use-GetThreadLocale-on-UWP.patch
=====================================
@@ -0,0 +1,29 @@
+From bed81fbf76b81b6468a8e04cd07155f8358773ab Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:19:07 +0200
+Subject: [PATCH 07/14] don't use GetThreadLocale on UWP
+
+---
+ src/w32-gettext.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/w32-gettext.c b/src/w32-gettext.c
+index bf085cd..3186458 100644
+--- a/src/w32-gettext.c
++++ b/src/w32-gettext.c
+@@ -648,8 +648,12 @@ my_nl_locale_name (const char *categoryname)
+ if (retval != NULL && retval[0] != '\0')
+ return retval;
+
++#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++ lcid = LOCALE_CUSTOM_DEFAULT;
++#else
+ /* Use native Win32 API locale ID. */
+ lcid = GetThreadLocale ();
++#endif
+ /* Strip off the sorting rules, keep only the language part. */
+ langid = LANGIDFROMLCID (lcid);
+ }
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0008-don-t-use-GetUserNameW-on-Windows-10.patch
=====================================
@@ -0,0 +1,52 @@
+From e2df6855f455bf3731d407e00da7d6a39827b0ea Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:19:44 +0200
+Subject: [PATCH 08/14] don't use GetUserNameW on Windows 10+
+
+It's not available in UWP
+---
+ src/sysutils.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/sysutils.c b/src/sysutils.c
+index b6d6a55..2830452 100644
+--- a/src/sysutils.c
++++ b/src/sysutils.c
+@@ -685,10 +685,11 @@ _gpgrt_getusername (void)
+ char *result = NULL;
+
+ #ifdef HAVE_W32_SYSTEM
++ char *buf;
++#if _WIN32_WINNT < 0x0A00 // _WIN32_WINNT_WIN10
+ wchar_t wtmp[1];
+ wchar_t *wbuf;
+ DWORD wsize = 1;
+- char *buf;
+
+ GetUserNameW (wtmp, &wsize);
+ wbuf = _gpgrt_malloc (wsize * sizeof *wbuf);
+@@ -705,6 +706,21 @@ _gpgrt_getusername (void)
+ }
+ buf = _gpgrt_wchar_to_utf8 (wbuf, wsize);
+ xfree (wbuf);
++#else
++ buf = _gpgrt_malloc (32767);
++ if (!buf)
++ {
++ _gpgrt_w32_set_errno (-1);
++ return NULL;
++ }
++ DWORD written = GetEnvironmentVariableA("USERNAME", buf, 32767);
++ if (written == 0)
++ {
++ _gpgrt_w32_set_errno (-1);
++ xfree (buf);
++ return NULL;
++ }
++#endif
+ return buf;
+
+ #else /* !HAVE_W32_SYSTEM */
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0009-gpg-error-config.in-add-missing-GPG_ERROR_CONFIG_LIB.patch
=====================================
@@ -0,0 +1,27 @@
+From 8ceb454e05af8be392dc18309f1800a4945398a5 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:20:16 +0200
+Subject: [PATCH 09/14] gpg-error-config.in: add missing
+ GPG_ERROR_CONFIG_LIBS_PRIVATE
+
+Otherwise the confirmity check fails
+---
+ src/gpg-error-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in
+index 3b45928..e50a9d2 100644
+--- a/src/gpg-error-config.in
++++ b/src/gpg-error-config.in
+@@ -84,7 +84,7 @@ while test $# -gt 0; do
+ fi
+ ;;
+ --libs)
+- output="$output @GPG_ERROR_CONFIG_LIBS@"
++ output="$output @GPG_ERROR_CONFIG_LIBS@ @GPG_ERROR_CONFIG_LIBS_PRIVATE@"
+ if test $mt = yes ; then
+ output="$output @GPG_ERROR_CONFIG_MT_LIBS@"
+ fi
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0011-logging-add-ws2tcpip.h-include-for-proper-inet_pton-.patch
=====================================
@@ -0,0 +1,25 @@
+From 349afde1939f2faaad667024428bd02cb26af86b Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:23:02 +0200
+Subject: [PATCH 11/14] logging: add ws2tcpip.h include for proper inet_pton
+ definition
+
+---
+ src/logging.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/logging.c b/src/logging.c
+index 4f52d80..5aded01 100644
+--- a/src/logging.c
++++ b/src/logging.c
+@@ -37,6 +37,7 @@
+ # ifdef HAVE_WINSOCK2_H
+ # include <winsock2.h>
+ # endif
++# include <ws2tcpip.h>
+ # include <windows.h>
+ #else /*!HAVE_W32_SYSTEM*/
+ # include <sys/socket.h>
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0012-use-GetCurrentProcessId-in-UWP.patch
=====================================
@@ -0,0 +1,28 @@
+From 6fbb7b9ec5d4102e1a4c2fcbdc31dd080959963d Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:24:20 +0200
+Subject: [PATCH 12/14] use GetCurrentProcessId() in UWP
+
+getpid() is not declared
+---
+ src/logging.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/logging.c b/src/logging.c
+index 5aded01..2cacb45 100644
+--- a/src/logging.c
++++ b/src/logging.c
+@@ -62,6 +62,10 @@
+ # define S_IROTH S_IRUSR
+ # define S_IWOTH S_IWUSR
+ # endif
++
++# if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++# define getpid() GetCurrentProcessId()
++# endif
+ #endif
+
+
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0013-configure-allow-building-Windows-with-disable-thread.patch
=====================================
@@ -0,0 +1,38 @@
+From aa9ec7d915bb43cb35e685f384142eb347ccea9b Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Fri, 24 Oct 2025 08:28:33 +0200
+Subject: [PATCH 13/14] configure: allow building Windows with
+ --disable-threads
+
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c327835..4ed37e1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -154,9 +154,9 @@ esac
+ AC_SUBST(EXTRA_LIBS_FOR_BUILD)
+
+
+-if test "$have_w32_system" != yes; then
++dnl if test "$have_w32_system" != yes; then
+ gl_THREADLIB_EARLY
+-fi
++dnl fi
+
+ # We build libgpg-error with large file support so that we have a 64
+ # bit off_t. Our external interface uses the gpgrt_off_t which is
+@@ -634,7 +634,7 @@ if test "$have_w32_system" = yes; then
+ if test "$have_w64_system" = yes; then
+ AC_DEFINE(HAVE_W64_SYSTEM,1,[Defined if we run on 64 bit W32 API system])
+ fi
+- force_use_syscfg=yes
++ dnl force_use_syscfg=yes
+ fi
+ if test x"$gl_use_threads" = xno; then
+ lock_obj_h_generated=yes
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0014-core-disable-locking-API-with-disable-threads.patch
=====================================
@@ -0,0 +1,132 @@
+From 749be993cfc7a9994f4e0733182fc6dbb88bd655 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 6 Nov 2025 13:31:25 +0100
+Subject: [PATCH 14/14] core: disable locking API with --disable-threads
+
+The _gpgrt_lock_t structure used in the specialized lock API's are not
+matching the structure set by gen-lock-obj.sh with --disable-threads.
+
+In particular LOCK_ABI_VERSION is not set.
+---
+ src/gen-lock-obj.sh | 2 ++
+ src/gpgrt-int.h | 9 +++++++++
+ src/posix-lock.c | 3 +++
+ src/posix-thread.c | 3 +++
+ src/w32-lock.c | 3 +++
+ src/w32-thread.c | 3 +++
+ 6 files changed, 23 insertions(+)
+
+diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
+index 6e78c5f..ae867ba 100755
+--- a/src/gen-lock-obj.sh
++++ b/src/gen-lock-obj.sh
+@@ -59,6 +59,8 @@ typedef struct
+ } gpgrt_lock_t;
+
+ #define GPGRT_LOCK_INITIALIZER {-1}
++
++#define GPGRT_LOCK_NOT_SUPPORTED 1
+ EOF
+ else
+ AWK_VERSION_OUTPUT=$($AWK 'BEGIN { print PROCINFO["version"] }')
+diff --git a/src/gpgrt-int.h b/src/gpgrt-int.h
+index 8d2a936..f859a5b 100644
+--- a/src/gpgrt-int.h
++++ b/src/gpgrt-int.h
+@@ -137,12 +137,21 @@ void _gpgrt_post_syscall (void);
+
+ const char *_gpg_error_check_version (const char *req_version);
+
++#ifdef GPGRT_LOCK_NOT_SUPPORTED
++#define _gpgrt_lock_init(l) 0
++#define _gpgrt_lock_lock(l) 0
++#define _gpgrt_lock_trylock(l) 0
++#define _gpgrt_lock_unlock(l) 0
++#define _gpgrt_lock_destroy(l) 0
++#define _gpgrt_yield() 0
++#else
+ gpg_err_code_t _gpgrt_lock_init (gpgrt_lock_t *lockhd);
+ gpg_err_code_t _gpgrt_lock_lock (gpgrt_lock_t *lockhd);
+ gpg_err_code_t _gpgrt_lock_trylock (gpgrt_lock_t *lockhd);
+ gpg_err_code_t _gpgrt_lock_unlock (gpgrt_lock_t *lockhd);
+ gpg_err_code_t _gpgrt_lock_destroy (gpgrt_lock_t *lockhd);
+ gpg_err_code_t _gpgrt_yield (void);
++#endif
+
+
+
+diff --git a/src/posix-lock.c b/src/posix-lock.c
+index 85ec660..79a639a 100644
+--- a/src/posix-lock.c
++++ b/src/posix-lock.c
+@@ -42,6 +42,7 @@
+ #include "lock.h"
+ #include "posix-lock-obj.h"
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
+
+ #if USE_POSIX_THREADS
+ # if USE_POSIX_THREADS_FROM_LIBC && HAVE_SYS_SINGLE_THREADED_H
+@@ -298,3 +299,5 @@ _gpgrt_lock_destroy (gpgrt_lock_t *lockhd)
+
+ return rc;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+diff --git a/src/posix-thread.c b/src/posix-thread.c
+index 36c81ba..f3d3a0f 100644
+--- a/src/posix-thread.c
++++ b/src/posix-thread.c
+@@ -43,6 +43,7 @@
+
+ #include "thread.h"
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
+
+
+ gpg_err_code_t
+@@ -66,3 +67,5 @@ _gpgrt_yield (void)
+
+ return 0;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+diff --git a/src/w32-lock.c b/src/w32-lock.c
+index feed1e6..cd14f5c 100644
+--- a/src/w32-lock.c
++++ b/src/w32-lock.c
+@@ -37,6 +37,7 @@
+ #include "w32-lock-obj.h"
+
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
+
+ static _gpgrt_lock_t *
+ get_lock_object (gpgrt_lock_t *lockhd)
+@@ -159,3 +160,5 @@ _gpgrt_lock_destroy (gpgrt_lock_t *lockhd)
+ lock->started = -1;
+ return 0;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+diff --git a/src/w32-thread.c b/src/w32-thread.c
+index c389635..69599f2 100644
+--- a/src/w32-thread.c
++++ b/src/w32-thread.c
+@@ -35,6 +35,7 @@
+ #include "gpgrt-int.h"
+ #include "thread.h"
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
+
+ gpg_err_code_t
+ _gpgrt_yield (void)
+@@ -44,3 +45,5 @@ _gpgrt_yield (void)
+ _gpgrt_post_syscall ();
+ return 0;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0015-core-disable-process-spawning-with-disable-threads.patch
=====================================
@@ -0,0 +1,72 @@
+From 10922c66bd0b717114c6b3080e0737b7676afd86 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 6 Nov 2025 14:52:04 +0100
+Subject: [PATCH 15/15] core: disable process spawning with --disable-threads
+
+---
+ src/spawn-posix.c | 4 ++++
+ src/spawn-w32.c | 4 ++++
+ src/visibility.c | 2 ++
+ 3 files changed, 10 insertions(+)
+
+diff --git a/src/spawn-posix.c b/src/spawn-posix.c
+index 8cdd032..0791b8a 100644
+--- a/src/spawn-posix.c
++++ b/src/spawn-posix.c
+@@ -58,6 +58,8 @@
+ #define _GPGRT_NEED_AFLOCAL 1
+ #include "gpgrt-int.h"
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
++
+ /* Definition for the gpgrt_spawn_actions_t. Note that there is a
+ * different one for Windows. */
+ struct gpgrt_spawn_actions {
+@@ -1066,3 +1068,5 @@ _gpgrt_process_wait_list (gpgrt_process_t *process_list, int count, int hang)
+
+ return ec;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+diff --git a/src/spawn-w32.c b/src/spawn-w32.c
+index cb15dd0..3a3b648 100644
+--- a/src/spawn-w32.c
++++ b/src/spawn-w32.c
+@@ -49,6 +49,8 @@
+ #define NEED_STRUCT_SPAWN_CB_ARG
+ #include "gpgrt-int.h"
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
++
+ /* Define to 1 do enable debugging. */
+ #define DEBUG_W32_SPAWN 0
+
+@@ -1218,3 +1220,5 @@ _gpgrt_process_wait_list (gpgrt_process_t *process_list, int count, int hang)
+
+ return ec;
+ }
++
++#endif /* !GPGRT_LOCK_NOT_SUPPORTED */
+diff --git a/src/visibility.c b/src/visibility.c
+index 54c4e2a..4a97b6d 100644
+--- a/src/visibility.c
++++ b/src/visibility.c
+@@ -1133,6 +1133,7 @@ gpgrt_close_all_fds (int from, int *keep_fds)
+ }
+ #endif /*0*/
+
++#ifndef GPGRT_LOCK_NOT_SUPPORTED
+ gpg_err_code_t
+ gpgrt_spawn_actions_new (gpgrt_spawn_actions_t *r_act)
+ {
+@@ -1257,6 +1258,7 @@ gpgrt_process_release (gpgrt_process_t process)
+ {
+ _gpgrt_process_release (process);
+ }
++#endif GPGRT_LOCK_NOT_SUPPORTED
+
+
+ int
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/0016-core-disable-registry-access-in-UWP.patch
=====================================
@@ -0,0 +1,50 @@
+From b2d2a1d4672dad47dc29d695b6e7b25c6371c272 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Wed, 27 May 2026 12:08:17 +0200
+Subject: [PATCH 16/16] core: disable registry access in UWP
+
+---
+ src/w32-reg.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/w32-reg.c b/src/w32-reg.c
+index 5bb8d43..29f20f3 100644
+--- a/src/w32-reg.c
++++ b/src/w32-reg.c
+@@ -46,6 +46,9 @@ char *
+ _gpgrt_w32_reg_query_string (const char *root, const char *dir,
+ const char *name)
+ {
++#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++ return NULL;
++#else
+ HKEY root_key, key_handle;
+ DWORD n1, nbytes, type, flags;
+ char *result = NULL;
+@@ -198,6 +201,7 @@ _gpgrt_w32_reg_query_string (const char *root, const char *dir,
+ leave:
+ RegCloseKey (key_handle);
+ return result;
++#endif
+ }
+
+
+@@ -226,6 +230,9 @@ _gpgrt_w32_reg_query_string (const char *root, const char *dir,
+ char *
+ _gpgrt_w32_reg_get_string (const char *key_arg)
+ {
++#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++ return NULL;
++#else
+ char *key;
+ char *p1, *p2;
+ char *result;
+@@ -253,4 +260,5 @@ _gpgrt_w32_reg_get_string (const char *key_arg)
+ result = _gpgrt_w32_reg_query_string (*key? key : NULL, p1, p2);
+ xfree (key);
+ return result;
++#endif
+ }
+--
+2.52.0.windows.1
+
=====================================
contrib/src/gpg-error/SHA512SUMS
=====================================
@@ -1 +1 @@
-51b313c1159074fdbbce84f63bd8afd84b3b58cd608714865b25bed84c1862d050708aa06ac3dab92f1906593df5121161e594c2809653b0fb2c236cae5dcc2f libgpg-error-1.27.tar.bz2
+ff4160f4133cf1a90eddf5f59d6248214b59db4f021f124302be37bf04fa1f2eb665560914cbe289095e630a31ba141252e7a72a8e6dbbc622cb135a2066259a libgpg-error-1.56.tar.bz2
=====================================
contrib/src/gpg-error/darwin-triplet.patch deleted
=====================================
@@ -1,25 +0,0 @@
---- libgpg-error-1.27_orig/src/mkheader.c 2017-02-28 13:32:33.000000000 +0100
-+++ libgpg-error-1.27/src/mkheader.c 2020-01-23 11:36:50.000000000 +0100
-@@ -107,7 +107,21 @@
- return xstrdup (lastalias);
- }
- }
-- return xstrdup (triplet);
-+ /* Darwin triplet de-versioning */
-+ char *res_triplet = xstrdup (triplet);
-+
-+ char *triplet_last = strrchr(res_triplet, '-');
-+ if (triplet_last == NULL) {
-+ fprintf (stderr, PGM ": unexpected host triplet missing any separator: '%s'",
-+ res_triplet);
-+ exit (1);
-+ }
-+ triplet_last++; /* Advance past the dash */
-+ if (strncmp("darwin", triplet_last, 6) == 0) {
-+ triplet_last[6] = '\0';
-+ }
-+
-+ return res_triplet;
- }
-
-
=====================================
contrib/src/gpg-error/gpg-error-createfile2.patch
=====================================
@@ -1,9 +1,49 @@
---- libgpg-error/src/estream.c.uwp 2023-05-23 09:53:33.222246200 +0200
-+++ libgpg-error/src/estream.c 2023-05-22 12:00:18.105186500 +0200
-@@ -4561,6 +4561,17 @@ tmpfd (void)
- #else
- strcpy (p, ".tmp");
- #endif
+From 2b5fff174b5b9ebaff32e653f3accea0ac782acb Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Tue, 23 May 2023 14:31:16 +0200
+Subject: [PATCH 05/14] use CreateFile2 in Win8 as CreateFileW is forbidden in
+ UWP
+
+---
+ src/estream.c | 24 ++++++++++++++++++++++++
+ src/spawn-w32.c | 13 +++++++++++++
+ src/w32-gettext.c | 10 ++++++++++
+ 3 files changed, 47 insertions(+)
+
+diff --git a/src/estream.c b/src/estream.c
+index 6062001..f7ab037 100644
+--- a/src/estream.c
++++ b/src/estream.c
+@@ -2058,6 +2058,17 @@ func_file_create_w32 (void **cookie, HANDLE *rethd, const char *path,
+ else
+ creation_distribution |= OPEN_EXISTING;
+
++#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
++ CREATEFILE2_EXTENDED_PARAMETERS createExParams;
++ memset (&createExParams, 0, sizeof(createExParams));
++ createExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
++ createExParams.dwFileFlags = flags_and_attrs;
++ hd = CreateFile2 (wpath,
++ desired_access,
++ share_mode,
++ creation_distribution,
++ &createExParams);
++#else
+ hd = CreateFileW (wpath,
+ desired_access,
+ share_mode,
+@@ -2065,6 +2076,7 @@ func_file_create_w32 (void **cookie, HANDLE *rethd, const char *path,
+ creation_distribution,
+ flags_and_attrs,
+ NULL); /* template file */
++#endif
+ if (hd == INVALID_HANDLE_VALUE)
+ {
+ _set_errno (map_w32_to_errno (GetLastError ()));
+@@ -5148,6 +5160,17 @@ tmpfd (void)
+ value <<= 4;
+ }
+ wcscpy (p, L".tmp");
+#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
+ CREATEFILE2_EXTENDED_PARAMETERS params;
+ memset (¶ms, 0, sizeof params);
@@ -15,48 +55,68 @@
+ CREATE_NEW,
+ ¶ms);
+#else
- file = CreateFile (buffer,
+ file = CreateFileW (buffer,
GENERIC_READ | GENERIC_WRITE,
0,
-@@ -4568,6 +4579,7 @@ tmpfd (void)
+@@ -5155,6 +5178,7 @@ tmpfd (void)
CREATE_NEW,
FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE,
NULL);
+#endif
if (file != INVALID_HANDLE_VALUE)
{
- #ifdef HAVE_W32CE_SYSTEM
---- libgpg-error/src/w32-gettext.c.uwp 2023-05-23 09:53:33.184247600 +0200
-+++ libgpg-error/src/w32-gettext.c 2023-05-22 11:45:24.077340000 +0200
-@@ -53,7 +53,7 @@
- #include "init.h"
- #include "gpg-error.h"
-
--#if defined(HAVE_W32CE_SYSTEM) || WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
-+#if defined(HAVE_W32CE_SYSTEM) || !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- /* Forward declaration. */
- static wchar_t *utf8_to_wchar (const char *string, size_t length, size_t *retlen);
-
-@@ -72,9 +72,22 @@ MyCreateFileA (LPCSTR lpFileName, DWORD
- if (!filename)
- return INVALID_HANDLE_VALUE;
-
-+#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
-+ CREATEFILE2_EXTENDED_PARAMETERS createExParams;
-+ createExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
-+ createExParams.dwFileAttributes = dwFlagsAndAttributes & 0xFFFF;
-+ createExParams.dwFileFlags = dwFlagsAndAttributes & 0xFFF00000;
-+ createExParams.dwSecurityQosFlags = dwFlagsAndAttributes & 0x000F0000;
-+ createExParams.lpSecurityAttributes = lpSecurityAttributes;
-+ createExParams.hTemplateFile = hTemplateFile;
-+
-+ result = CreateFile2 (filename, dwDesiredAccess, dwSharedMode,
-+ dwCreationDisposition, &createExParams);
+ int fd = _open_osfhandle ((intptr_t)file, 0);
+diff --git a/src/spawn-w32.c b/src/spawn-w32.c
+index ecc9437..cb15dd0 100644
+--- a/src/spawn-w32.c
++++ b/src/spawn-w32.c
+@@ -224,10 +224,23 @@ w32_open_null (int for_write, int enable_null_device)
+ memset (&sec_attr, 0, sizeof sec_attr );
+ sec_attr.nLength = sizeof sec_attr;
+ sec_attr.bInheritHandle = TRUE;
++#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
++ {
++ CREATEFILE2_EXTENDED_PARAMETERS createExParams;
++ memset (&createExParams, 0, sizeof(createExParams));
++ createExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
++ createExParams.lpSecurityAttributes = &sec_attr;
++ hfile = CreateFile2 (L"nul",
++ for_write? GENERIC_WRITE : GENERIC_READ,
++ FILE_SHARE_READ | FILE_SHARE_WRITE,
++ OPEN_EXISTING, &createExParams);
++ }
+#else
- result = CreateFileW (filename, dwDesiredAccess, dwSharedMode,
- lpSecurityAttributes, dwCreationDisposition,
- dwFlagsAndAttributes, hTemplateFile);
+ hfile = CreateFileW (L"nul",
+ for_write? GENERIC_WRITE : GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ &sec_attr, OPEN_EXISTING, 0, NULL);
+#endif
-
- err = GetLastError ();
- free (filename);
+ if (hfile == INVALID_HANDLE_VALUE)
+ _gpgrt_log_debug ("can't open 'nul': ec=%d\n", (int)GetLastError ());
+ return hfile;
+diff --git a/src/w32-gettext.c b/src/w32-gettext.c
+index 5b15a77..42aa01c 100644
+--- a/src/w32-gettext.c
++++ b/src/w32-gettext.c
+@@ -1216,8 +1216,18 @@ load_domain (const char *filename)
+ if (!wfilename)
+ fh = INVALID_HANDLE_VALUE;
+ else
++#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
++ {
++ CREATEFILE2_EXTENDED_PARAMETERS createExParams;
++ memset (&createExParams, 0, sizeof(createExParams));
++ createExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
++ fh = CreateFile2 (wfilename, GENERIC_READ, FILE_SHARE_WRITE,
++ OPEN_EXISTING, &createExParams);
++ }
++#else
+ fh = CreateFileW (wfilename, GENERIC_READ, FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, 0, NULL);
++#endif
+ xfree (wfilename);
+ }
+ if (fh == INVALID_HANDLE_VALUE)
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/gpg-error-uwp-GetFileSize.patch
=====================================
@@ -1,6 +1,17 @@
---- libgpg-error/src/w32-gettext.c.uwp 2023-05-23 09:53:33.184247600 +0200
-+++ libgpg-error/src/w32-gettext.c 2023-05-22 11:45:24.077340000 +0200
-@@ -1240,7 +1253,15 @@ load_domain (const char *filename)
+From 8e1e760bef6aa94e6e71000ead2bc21716a06d19 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:18:54 +0200
+Subject: [PATCH 06/14] don't use GetFileSize on UWP
+
+---
+ src/w32-gettext.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/w32-gettext.c b/src/w32-gettext.c
+index 42aa01c..bf085cd 100644
+--- a/src/w32-gettext.c
++++ b/src/w32-gettext.c
+@@ -1233,7 +1233,15 @@ load_domain (const char *filename)
if (fh == INVALID_HANDLE_VALUE)
return NULL;
@@ -9,10 +20,13 @@
+ if (GetFileInformationByHandleEx(fh, FileStandardInfo, (LPVOID)&fStdInfo, sizeof(fStdInfo)))
+ size = fStdInfo.EndOfFile.LowPart;
+ else
-+ size = INVALID_FILE_SIZE;
++ size = INVALID_FILE_SIZE;
+#else
size = GetFileSize (fh, NULL);
+#endif
if (size == INVALID_FILE_SIZE)
{
CloseHandle (fh);
+--
+2.45.1.windows.1
+
=====================================
contrib/src/gpg-error/gpg-error-uwp-fix.patch
=====================================
@@ -1,6 +1,56 @@
---- libgpg-error/src/mkheader.c.orig 2023-05-12 13:24:34.270562700 +0200
-+++ libgpg-error/src/mkheader.c 2023-05-15 08:26:10.678024100 +0200
-@@ -518,7 +518,7 @@ write_special (const char *fname, int ln
+From d246bd0c4eba45b78f18786898ec4f8d6af86c72 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Mon, 15 May 2023 08:20:15 +0200
+Subject: [PATCH 03/15] fix UWP build
+
+---
+ src/init.c | 11 ++++++++++-
+ src/mkheader.c | 2 +-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/src/init.c b/src/init.c
+index 7f970d9..321da10 100644
+--- a/src/init.c
++++ b/src/init.c
+@@ -81,8 +81,9 @@ static void *(*custom_realloc)(void *a, size_t n);
+ static void
+ windows_specific_init (void)
+ {
++#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
+ OSVERSIONINFO osvi;
+- HMODULE hntdll = GetModuleHandle ("ntdll.dll");
++ HMODULE hntdll = GetModuleHandleA ("ntdll.dll");
+
+ memset (&osvi,0,sizeof(osvi));
+ osvi.dwOSVersionInfoSize = sizeof(osvi);
+@@ -94,6 +95,10 @@ windows_specific_init (void)
+
+ if (hntdll && GetProcAddress (hntdll, "wine_get_version"))
+ windows_features.semihosted_by_wine = 1;
++#else
++ windows_features.is_vista_or_later = 1;
++ windows_features.semihosted_by_wine = 0;
++#endif
+ }
+ #endif
+
+@@ -589,7 +594,11 @@ _gpgrt_windows_feature (int k)
+ switch (k)
+ {
+ case GPGRT_WINDOWS_PROC_ATTRIBUTE:
++#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++ return 0;
++#else
+ return windows_features.is_vista_or_later;
++#endif
+
+ case GPGRT_WINDOWS_UNDER_WINE:
+ return windows_features.semihosted_by_wine;
+diff --git a/src/mkheader.c b/src/mkheader.c
+index 7c772e6..779e0ab 100644
+--- a/src/mkheader.c
++++ b/src/mkheader.c
+@@ -623,7 +623,7 @@ write_special (const char *fname, int lnr, const char *tag)
}
else if (!strcmp (tag, "include:os-add"))
{
@@ -9,3 +59,6 @@
{
include_file (fname, lnr, "w32-add.h", write_line);
}
+--
+2.52.0.windows.1
+
=====================================
contrib/src/gpg-error/lock-obj-pub.posix.h deleted
=====================================
@@ -1,18 +0,0 @@
-## lock-obj-pub.posix.h
-## File created by Rémi Denis-Courmont - DO EDIT
-## To be included by mkheader into gpg-error.h
-
-#include <pthread.h>
-
-typedef struct
-{
- long vers;
- union {
- pthread_mutex_t mtx;
- /* In theory, pointers could have a higher alignment than pthread_mutex_t,
- * so keep in the union to match _gpgrt_lock_t. */
- long *alignme;
- } u;
-} gpgrt_lock_t;
-
-#define GPGRT_LOCK_INITIALIZER { 1, { PTHREAD_MUTEX_INITIALIZER } }
=====================================
contrib/src/gpg-error/missing-unistd-include.patch deleted
=====================================
@@ -1,11 +0,0 @@
-diff -ru libgpg-error/tests/t-lock.c libgpg-error-fixed/tests/t-lock.c
---- libgpg-error/tests/t-lock.c 2014-01-24 21:50:09.000000000 +0100
-+++ libgpg-error-fixed/tests/t-lock.c 2014-08-17 22:10:24.000000000 +0200
-@@ -24,6 +24,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <unistd.h>
- #include <assert.h>
- #ifdef _WIN32
- # include <windows.h>
=====================================
contrib/src/gpg-error/no-executable.patch deleted
=====================================
@@ -1,11 +0,0 @@
---- libgpg-error/src/Makefile.am.orig 2014-10-25 14:42:43.000000000 +0200
-+++ libgpg-error/src/Makefile.am 2015-05-05 16:59:40.887486960 +0200
-@@ -31,7 +31,7 @@
-
- localedir = $(datadir)/locale
-
--bin_PROGRAMS = gpg-error
-+bin_PROGRAMS =
-
- if HAVE_W32_SYSTEM
- noinst_PROGRAMS = gen-w32-lock-obj
=====================================
contrib/src/gpg-error/rules.mak
=====================================
@@ -1,11 +1,12 @@
# GPGERROR
-GPGERROR_VERSION := 1.27
+GPGERROR_VERSION := 1.56
GPGERROR_URL := $(GNUGPG)/libgpg-error/libgpg-error-$(GPGERROR_VERSION).tar.bz2
$(TARBALLS)/libgpg-error-$(GPGERROR_VERSION).tar.bz2:
$(call download_pkg,$(GPGERROR_URL),gpg-error)
-ifeq ($(call need_pkg,"gpg-error >= 1.27"),)
+PKGS += gpg-error
+ifeq ($(call need_pkg,"gpg-error >= 1.33"),)
PKGS_FOUND += gpg-error
endif
@@ -13,54 +14,44 @@ endif
libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2 .sum-gpg-error
$(UNPACK)
- $(APPLY) $(SRC)/gpg-error/windres-make.patch
- $(APPLY) $(SRC)/gpg-error/winrt.patch
- $(APPLY) $(SRC)/gpg-error/missing-unistd-include.patch
- $(APPLY) $(SRC)/gpg-error/no-executable.patch
- $(APPLY) $(SRC)/gpg-error/win32-unicode.patch
- $(APPLY) $(SRC)/gpg-error/version-bump-gawk-5.patch
- $(APPLY) $(SRC)/gpg-error/win32-extern-struct.patch
- $(APPLY) $(SRC)/gpg-error/darwin-triplet.patch
-ifndef HAVE_WIN32
- cp -f -- "$(SRC)/gpg-error/lock-obj-pub.posix.h" \
- "$(UNPACK_DIR)/src/lock-obj-pub.native.h"
-endif
+ $(call pkg_static,"src/gpg-error.pc.in")
# gpg-error doesn't know about mingw32uwp but it's the same as mingw32
- cp -f -- "$(UNPACK_DIR)/src/syscfg/lock-obj-pub.mingw32.h" \
- "$(UNPACK_DIR)/src/syscfg/lock-obj-pub.mingw32uwp.h"
$(APPLY) $(SRC)/gpg-error/gpg-error-uwp-fix.patch
# use CreateFile2 in Win8 as CreateFileW is forbidden in UWP
+ $(APPLY) $(SRC)/gpg-error/0004-use-WCHAR-API-for-temporary-windows-folder.patch
$(APPLY) $(SRC)/gpg-error/gpg-error-createfile2.patch
# don't use GetFileSize on UWP
$(APPLY) $(SRC)/gpg-error/gpg-error-uwp-GetFileSize.patch
+ $(APPLY) $(SRC)/gpg-error/0007-don-t-use-GetThreadLocale-on-UWP.patch
+ $(APPLY) $(SRC)/gpg-error/0008-don-t-use-GetUserNameW-on-Windows-10.patch
+ $(APPLY) $(SRC)/gpg-error/0009-gpg-error-config.in-add-missing-GPG_ERROR_CONFIG_LIB.patch
+ $(APPLY) $(SRC)/gpg-error/0011-logging-add-ws2tcpip.h-include-for-proper-inet_pton-.patch
+ $(APPLY) $(SRC)/gpg-error/0012-use-GetCurrentProcessId-in-UWP.patch
+ $(APPLY) $(SRC)/gpg-error/0013-configure-allow-building-Windows-with-disable-thread.patch
+ $(APPLY) $(SRC)/gpg-error/0014-core-disable-locking-API-with-disable-threads.patch
+ $(APPLY) $(SRC)/gpg-error/0015-core-disable-process-spawning-with-disable-threads.patch
+ $(APPLY) $(SRC)/gpg-error/0016-core-disable-registry-access-in-UWP.patch
+ # use the ANSI version of Environment API's as the rest of the code
+ sed -i.orig -e 's/ExpandEnvironmentStrings /ExpandEnvironmentStringsA /g' $(UNPACK_DIR)/src/w32-reg.c
+ sed -i.orig -e 's/SetEnvironmentVariable /SetEnvironmentVariableA /g' $(UNPACK_DIR)/src/sysutils.c
+ sed -i.orig -e 's/GetEnvironmentVariable /GetEnvironmentVariableA /g' $(UNPACK_DIR)/src/sysutils.c
$(MOVE)
-ifdef HAVE_ANDROID
-ifeq ($(ARCH),aarch64)
- # x86_64-linux-gnu matches exactly what gets generated by gen-posix-lock-obj on arm64
- cp $@/src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h $@/src/syscfg/lock-obj-pub.linux-android.h
-else
- cp $@/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h $@/src/syscfg/lock-obj-pub.linux-android.h
-endif
-endif
-ifdef HAVE_TIZEN
-ifeq ($(TIZEN_ABI), x86)
- cp $@/src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h $@/src/syscfg/lock-obj-pub.linux-gnueabi.h
-endif
-endif
GPGERROR_CONF := \
--disable-nls \
--disable-languages \
--disable-tests \
- --disable-doc
+ --disable-doc \
+ --enable-install-gpg-error-config \
+ --disable-threads
.gpg-error: libgpg-error
$(RECONF)
- cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(GPGERROR_CONF)
- # pre_mkheader_cmds would delete our lock-obj-pub-native.h
- $(MAKE) -C $< pre_mkheader_cmds=true
- $(MAKE) -C $< pre_mkheader_cmds=true install
+ $(MAKEBUILDDIR)
+ $(MAKECONFIGURE) $(GPGERROR_CONF)
+ +$(MAKEBUILD) bin_PROGRAMS=
+ +$(MAKEBUILD) bin_PROGRAMS= install
touch $@
=====================================
contrib/src/gpg-error/version-bump-gawk-5.patch deleted
=====================================
@@ -1,159 +0,0 @@
-From 5fab5cefbd250619adb2701859ee9e7b1ebf694f Mon Sep 17 00:00:00 2001
-From:
-Date: Sun, 21 Apr 2019 17:30:47 -0500
-Subject: [PATCH] Fully support gawk-5
-
----
- lang/cl/mkerrcodes.awk | 2 +-
- src/Makefile.am | 2 +-
- src/Makefile.in | 2 +-
- src/mkerrcodes.awk | 2 +-
- src/mkerrcodes1.awk | 2 +-
- src/mkerrcodes2.awk | 2 +-
- src/mkerrnos.awk | 2 +-
- src/mkstrtable.awk | 10 +++++-----
- 8 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/lang/cl/mkerrcodes.awk b/lang/cl/mkerrcodes.awk
-index ae29043..9a1fc18 100644
---- a/lang/cl/mkerrcodes.awk
-+++ b/lang/cl/mkerrcodes.awk
-@@ -122,7 +122,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 42998e4..0ceac9f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -281,7 +281,7 @@ code-from-errno.h: mkerrcodes Makefile
-
- 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 >$@
-
-
-diff --git a/src/Makefile.in b/src/Makefile.in
-index 9ffb29d..a9efa38 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -1449,7 +1449,7 @@ code-from-errno.h: mkerrcodes Makefile
-
- 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
-diff --git a/src/mkerrcodes.awk b/src/mkerrcodes.awk
-index 46d436c..e9c857c 100644
---- a/src/mkerrcodes.awk
-+++ b/src/mkerrcodes.awk
-@@ -85,7 +85,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrcodes1.awk b/src/mkerrcodes1.awk
-index a771a73..4578e29 100644
---- a/src/mkerrcodes1.awk
-+++ b/src/mkerrcodes1.awk
-@@ -81,7 +81,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrcodes2.awk b/src/mkerrcodes2.awk
-index ea58503..188f7a4 100644
---- a/src/mkerrcodes2.awk
-+++ b/src/mkerrcodes2.awk
-@@ -91,7 +91,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrnos.awk b/src/mkerrnos.awk
-index f79df66..15b1aad 100644
---- a/src/mkerrnos.awk
-+++ b/src/mkerrnos.awk
-@@ -83,7 +83,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkstrtable.awk b/src/mkstrtable.awk
-index c9de9c1..285e45f 100644
---- a/src/mkstrtable.awk
-+++ b/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 @@ header {
- 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 {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-@@ -150,7 +150,7 @@ END {
- 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 @@ END {
- print " };";
- print "";
- print "static GPG_ERR_INLINE int";
-- print namespace "msgidxof (int code)";
-+ print pkg_namespace "msgidxof (int code)";
- print "{";
- print " return (0 ? 0";
-
---
-2.21.0
-
=====================================
contrib/src/gpg-error/win32-extern-struct.patch deleted
=====================================
@@ -1,11 +0,0 @@
---- libgpg-error-1.27/src/gpgrt-int.h.orig 2020-03-10 10:54:53.127491822 +0200
-+++ libgpg-error-1.27/src/gpgrt-int.h 2020-03-10 10:55:48.526283928 +0200
-@@ -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,
=====================================
contrib/src/gpg-error/win32-unicode.patch deleted
=====================================
@@ -1,29 +0,0 @@
---- libgpg-error/src/estream.c 2016-05-24 11:21:10.180251700 +0200
-+++ libgpg-error/src/estream.c.msvc 2016-05-24 11:23:18.195880200 +0200
-@@ -4115,7 +4115,7 @@ tmpfd (void)
- {
- #ifdef HAVE_W32_SYSTEM
- int attempts, n;
--#ifdef HAVE_W32CE_SYSTEM
-+#if defined(HAVE_W32CE_SYSTEM) || defined(UNICODE)
- wchar_t buffer[MAX_PATH+9+12+1];
- # define mystrlen(a) wcslen (a)
- wchar_t *name, *p;
-@@ -4136,7 +4136,7 @@ tmpfd (void)
- return -1;
- }
- p = buffer + mystrlen (buffer);
--#ifdef HAVE_W32CE_SYSTEM
-+#if defined(HAVE_W32CE_SYSTEM) || defined(UNICODE)
- wcscpy (p, L"_estream");
- #else
- strcpy (p, "_estream");
-@@ -4157,7 +4157,7 @@ tmpfd (void)
- *p++ = tohex (((value >> 28) & 0x0f));
- value <<= 4;
- }
--#ifdef HAVE_W32CE_SYSTEM
-+#if defined(HAVE_W32CE_SYSTEM) || defined(UNICODE)
- wcscpy (p, L".tmp");
- #else
- strcpy (p, ".tmp");
=====================================
contrib/src/gpg-error/windres-make.patch deleted
=====================================
@@ -1,22 +0,0 @@
---- libgpg-error/src/Makefile.am 2010-04-14 11:16:44.000000000 +0200
-+++ libgpg-error.new/src/Makefile.am 2010-08-09 11:21:56.000000000 +0200
-@@ -60,7 +60,7 @@
- arch_sources = w32-gettext.c
-
- RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-- -DLOCALEDIR=\"$(localedir)\" $(AM_CPPFLAGS) $(CPPFLAGS)
-+ -DLOCALEDIR=\"$(localedir)\" $(AM_CPPFLAGS)
- LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
-
- SUFFIXES = .rc .lo
---- libgpg-error/src/Makefile.in.orig 2011-11-22 23:23:14.450340031 -0500
-+++ libgpg-error/src/Makefile.in 2011-11-22 23:23:20.650370779 -0500
-@@ -306,7 +306,7 @@
- @HAVE_W32_SYSTEM_FALSE at arch_sources =
- @HAVE_W32_SYSTEM_TRUE at arch_sources = w32-gettext.c
- @HAVE_W32_SYSTEM_TRUE at RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-- at HAVE_W32_SYSTEM_TRUE@ -DLOCALEDIR=\"$(localedir)\" $(AM_CPPFLAGS) $(CPPFLAGS)
-+ at HAVE_W32_SYSTEM_TRUE@ -DLOCALEDIR=\"$(localedir)\" $(AM_CPPFLAGS)
-
- @HAVE_W32_SYSTEM_TRUE at LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
- @HAVE_W32_SYSTEM_TRUE at SUFFIXES = .rc .lo
=====================================
contrib/src/gpg-error/winrt.patch deleted
=====================================
@@ -1,40 +0,0 @@
---- libgpg-error/src/w32-gettext.c.orig 2016-05-09 17:30:18.306788566 +0200
-+++ libgpg-error/src/w32-gettext.c 2016-05-09 17:32:19.830771580 +0200
-@@ -53,7 +53,7 @@
- #include "init.h"
- #include "gpg-error.h"
-
--#ifdef HAVE_W32CE_SYSTEM
-+#if defined(HAVE_W32CE_SYSTEM) || WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
- /* Forward declaration. */
- static wchar_t *utf8_to_wchar (const char *string, size_t length, size_t *retlen);
-
-@@ -644,6 +644,7 @@
- static const char *
- my_nl_locale_name (const char *categoryname)
- {
-+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- #ifndef HAVE_W32CE_SYSTEM
- const char *retval;
- #endif
-@@ -1053,6 +1054,9 @@
- case LANG_ZULU: return "zu_ZA";
- default: return "C";
- }
-+#else
-+ return "C";
-+#endif
- }
-
- /* localname.c from gettext END. */
---- libgpg-error/src/w32-gettext.c.orig 2016-08-25 15:55:09.006943405 +0200
-+++ libgpg-error/src/w32-gettext.c 2016-08-25 15:56:47.442788455 +0200
-@@ -1383,7 +1383,7 @@
- {
- int n;
- char *result;
-- unsigned int cpno = GetConsoleOutputCP ();
-+ unsigned int cpno = CP_UTF8;
-
- /* GetConsoleOutputCP returns the 8-Bit codepage that should be used
- for console output. If the codepage is not returned we fall back
=====================================
contrib/src/ssh2/0001-fix-gcrypt-linking.patch deleted
=====================================
@@ -1,10 +0,0 @@
---- ssh2/acinclude.m4.orig 2022-05-08 22:01:39.704273920 +0200
-+++ ssh2/acinclude.m4 2022-05-27 15:24:17.697253672 +0200
-@@ -434,6 +434,7 @@
- [libgcrypt], [
- LIBSSH2_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>], [
- AC_DEFINE(LIBSSH2_LIBGCRYPT, 1, [Use $1])
-+ LIBS="$LIBS -lgcrypt -lgpg-error"
- found_crypto="$1"
- ])
- ],
=====================================
contrib/src/ssh2/rules.mak
=====================================
@@ -23,7 +23,8 @@ ssh2: libssh2-$(LIBSSH2_VERSION).tar.gz .sum-ssh2
$(UNPACK)
$(UPDATE_AUTOCONFIG)
$(APPLY) $(SRC)/ssh2/no-tests.patch
- $(APPLY) $(SRC)/ssh2/0001-fix-gcrypt-linking.patch
+ # Require gcrypt
+ sed -i.orig 's/@LIBSREQUIRED@/@LIBSREQUIRED@ libgcrypt/' $(UNPACK_DIR)/libssh2.pc.in
$(call pkg_static,"libssh2.pc.in")
ifdef HAVE_WINSTORE
$(APPLY) $(SRC)/ssh2/winrt-no-agent.patch
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4c608da16c33560821be7e5c1ad4e34bf5a65398...d8f5cc95088237cca9e5ed5cd3b7edea60026364
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4c608da16c33560821be7e5c1ad4e34bf5a65398...d8f5cc95088237cca9e5ed5cd3b7edea60026364
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list