[vlc-commits] [Git][videolan/vlc][master] 9 commits: pkg-static.sh: also merge Cflags.private with Cflags

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Oct 25 13:57:43 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
710a0242 by Steve Lhomme at 2025-10-25T11:30:14+00:00
pkg-static.sh: also merge Cflags.private with Cflags

- - - - -
8660042b by Steve Lhomme at 2025-10-25T11:30:14+00:00
contrib: gcrypt: add missing pkg_static

- - - - -
c796ca5c by Steve Lhomme at 2025-10-25T11:30:14+00:00
contrib: faad2: add missing pkg_static

- - - - -
5730cde2 by Steve Lhomme at 2025-10-25T11:30:14+00:00
contrib: mpg123: add missing pkg_static

We don't use these libraries but if we ever do, if will be correct.

- - - - -
6bc31a25 by Steve Lhomme at 2025-10-25T11:30:14+00:00
contrib: twolame: fix LIBTWOLAME_STATIC usage

It's defined in the Cflags.private and set internally with --enable-static.

- - - - -
a7334942 by Steve Lhomme at 2025-10-25T11:30:14+00:00
build: don't force LIBTWOLAME_STATIC unconditionally

It should come from the pkg-config if we use a static library.

- - - - -
7aa97996 by Steve Lhomme at 2025-10-25T11:30:14+00: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.

- - - - -
0c72a6c7 by Steve Lhomme at 2025-10-25T11:30:14+00:00
autoconf: detect gpg-error to get dependencies

On Windows it requires ws2_32.

- - - - -
3738e779 by Steve Lhomme at 2025-10-25T11:30:14+00: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.

- - - - -


30 changed files:

- configure.ac
- contrib/src/faad2/rules.mak
- contrib/src/gcrypt/rules.mak
- + 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/0010-spawn-w32-don-t-compile-non-public-spawn-API.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/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/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/mpg123/rules.mak
- contrib/src/pkg-static.sh
- contrib/src/twolame/rules.mak
- modules/access_output/Makefile.am
- modules/codec/Makefile.am
- modules/codec/meson.build


Changes:

=====================================
configure.ac
=====================================
@@ -2965,7 +2965,7 @@ AS_IF([test "${enable_vpx}" != "no"],[
 dnl
 dnl twolame encoder plugin
 dnl
-PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
+PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto])
 
 dnl
 dnl fdk-aac encoder plugin
@@ -4755,6 +4755,11 @@ AS_IF([test "${enable_libgcrypt}" != "no"], [
 
   AS_IF([test "${ac_cv_lib_gcrypt}" = "yes"], [
     AC_DEFINE([HAVE_GCRYPT], 1, [Defined if having gcrypt])
+    PKG_CHECK_MODULES([GPGERROR], [gpg-error], [
+      have_gpg_error="yes"
+    ], [
+      have_gpg_error="no"
+    ])
   ], [
     AS_IF([test "${enable_libgcrypt}" = "yes"], [
       AC_MSG_ERROR([libgcrypt version 1.6.0 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
@@ -4763,7 +4768,11 @@ AS_IF([test "${enable_libgcrypt}" != "no"], [
 ])
 
 AS_IF([test -z "$GCRYPT_LIBS"], [
-  GCRYPT_LIBS="-lgcrypt -lgpg-error"
+  AS_IF([test "${have_gpg_error}" = "yes"],[
+    GCRYPT_LIBS="-lgcrypt ${GPGERROR_LIBS}"
+  ],[
+    GCRYPT_LIBS="-lgcrypt -lgpg-error"
+  ])
 ])
 
 AC_SUBST([GCRYPT_CFLAGS])


=====================================
contrib/src/faad2/rules.mak
=====================================
@@ -36,6 +36,7 @@ FAAD2_CONF := --without-drm
 	$(MAKEBUILDDIR)
 	$(MAKECONFIGURE) $(FAAD2_CONF)
 	sed -i.orig "s/shrext_cmds/shrext/g" $(BUILD_DIR)/libtool
+	$(call pkg_static,"$(BUILD_DIRUNPACK)/libfaad/faad2.pc")
 	+$(MAKEBUILD) -C libfaad
 	+$(MAKEBUILD) -C libfaad install
 	touch $@


=====================================
contrib/src/gcrypt/rules.mak
=====================================
@@ -18,6 +18,7 @@ $(TARBALLS)/libgcrypt-$(GCRYPT_VERSION).tar.bz2:
 
 gcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2 .sum-gcrypt
 	$(UNPACK)
+	$(call pkg_static,"src/libgcrypt.pc.in")
 	# $(call update_autoconfig,build-aux)
 	$(APPLY) $(SRC)/gcrypt/disable-tests-compilation.patch
 	$(APPLY) $(SRC)/gcrypt/fix-pthread-detection.patch


=====================================
contrib/src/gpg-error/0004-use-WCHAR-API-for-temporary-windows-folder.patch
=====================================
@@ -0,0 +1,54 @@
+From 850fd38ff041406432c8c70b3fb81f6e2ee4b12b 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/12] use WCHAR API for temporary windows folder
+
+---
+ src/estream.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/estream.c b/src/estream.c
+index 66ebc4b..42027b4 100644
+--- a/src/estream.c
++++ b/src/estream.c
+@@ -5074,15 +5074,15 @@ 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);
+@@ -5094,7 +5094,7 @@ tmpfd (void)
+   /* 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++)
+@@ -5107,7 +5107,7 @@ tmpfd (void)
+           value <<= 4;
+         }
+       strcpy (p, ".tmp");
+-      file = CreateFile (buffer,
++      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 d4cbfe90ad686d4bed08d38757d2bddfaba4506e 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/12] 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 10a9904..2a64d4e 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 4d64477f730529cecdf9ee8ec03bf409e039f85e 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/12] 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 8eee084..a94430b 100644
+--- a/src/sysutils.c
++++ b/src/sysutils.c
+@@ -594,10 +594,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);
+@@ -614,6 +615,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 3a566f07a5b89e78eff2459a6b26f7c91d609820 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/12] 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/0010-spawn-w32-don-t-compile-non-public-spawn-API.patch
=====================================
@@ -0,0 +1,144 @@
+From ec0bd69513d2c1ea4148a0aef545f89c997fedd6 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 23 Oct 2025 12:22:17 +0200
+Subject: [PATCH 10/12] spawn-w32: don't compile non-public spawn API
+
+The calls are already disabled in visibility.c
+---
+ src/gpgrt-int.h   |  2 ++
+ src/spawn-posix.c |  6 ++++++
+ src/spawn-w32.c   | 18 ++++++++++++++++++
+ 3 files changed, 26 insertions(+)
+
+diff --git a/src/gpgrt-int.h b/src/gpgrt-int.h
+index adddb26..0e6b268 100644
+--- a/src/gpgrt-int.h
++++ b/src/gpgrt-int.h
+@@ -635,6 +635,7 @@ gpg_err_code_t _gpgrt_make_pipe (int filedes[2], estream_t *r_fp,
+ #define _gpgrt_create_outbound_pipe(a,b,c) _gpgrt_make_pipe ((a), (b),  1, (c))
+ 
+ 
++#if 0
+ /* Fork and exec the program PGMNAME.
+  *
+  * If R_INFP is NULL connect stdin of the new process to /dev/null; if
+@@ -723,6 +724,7 @@ gpg_err_code_t _gpgrt_spawn_process_fd (const char *pgmname,
+ gpg_err_code_t _gpgrt_spawn_process_detached (const char *pgmname,
+                                               const char *argv[],
+                                               const char *envp[]);
++#endif
+ 
+ /* If HANG is true, waits for the process identified by PROCESS_ID to
+  * exit; if HANG is false, checks whether the process has terminated.
+diff --git a/src/spawn-posix.c b/src/spawn-posix.c
+index 8e36ee1..fe6124d 100644
+--- a/src/spawn-posix.c
++++ b/src/spawn-posix.c
+@@ -254,6 +254,7 @@ get_all_open_fds (void)
+ #endif /*0*/
+ 
+ 
++#if 0
+ /* The exec core used right after the fork.  This will never return.  */
+ static void
+ do_exec (const char *pgmname, const char *argv[],
+@@ -326,6 +327,7 @@ do_exec (const char *pgmname, const char *argv[],
+   /* No way to print anything, as we have may have closed all streams. */
+   _exit (127);
+ }
++#endif
+ 
+ 
+ /* Helper for _gpgrt_make_pipe.  */
+@@ -428,6 +430,7 @@ convert_from_process (gpgrt_process_t process_id)
+ }
+ 
+ 
++#if 0
+ /* Fork and exec the PGMNAME, see gpgrt-int.h for details.  */
+ gpg_err_code_t
+ _gpgrt_spawn_process (const char *pgmname, const char *argv[],
+@@ -600,6 +603,7 @@ _gpgrt_spawn_process_fd (const char *pgmname, const char *argv[],
+   *r_process_id = convert_from_pid (pid);
+   return 0;
+ }
++#endif
+ 
+ 
+ /* Waiting for child processes.
+@@ -855,6 +859,7 @@ _gpgrt_wait_processes (const char **pgmnames, gpgrt_process_t *process_ids,
+ }
+ 
+ 
++#if 0
+ /* See gpgrt-int.h for a description.  FIXME: We should add a prexec
+  * callback. */
+ gpg_err_code_t
+@@ -922,6 +927,7 @@ _gpgrt_spawn_process_detached (const char *pgmname, const char *argv[],
+ 
+   return 0;
+ }
++#endif
+ 
+ 
+ /* Kill a process; that is send an appropriate signal to the process.
+diff --git a/src/spawn-w32.c b/src/spawn-w32.c
+index eca56c0..07f10bf 100644
+--- a/src/spawn-w32.c
++++ b/src/spawn-w32.c
+@@ -65,6 +65,20 @@
+ #define fd_to_handle(a)  ((HANDLE)(a))
+ #define handle_to_fd(a)  ((intptr_t)(a))
+ 
++#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) && defined(__MINGW64_VERSION_MAJOR)
++  typedef struct _STARTUPINFOEXA {
++    STARTUPINFOA StartupInfo;
++    LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
++  } STARTUPINFOEXA,*LPSTARTUPINFOEXA;
++
++  typedef struct _STARTUPINFOEXW {
++    STARTUPINFOW StartupInfo;
++    LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
++  } STARTUPINFOEXW,*LPSTARTUPINFOEXW;
++
++# define STARTF_USESHOWWINDOW 0x00000001
++# define STARTF_USESTDHANDLES 0x00000100
++#endif
+ 
+ /* Return the maximum number of currently allowed open file
+  * descriptors.  Only useful on POSIX systems but returns a value on
+@@ -407,6 +421,7 @@ convert_from_process (gpgrt_process_t process_id)
+ }
+ 
+ 
++#if 0
+ /* Fork and exec the PGMNAME, see gpgrt-int.h for details.  */
+ gpg_err_code_t
+ _gpgrt_spawn_process (const char *pgmname, const char *argv[],
+@@ -754,6 +769,7 @@ _gpgrt_spawn_process_fd (const char *pgmname, const char *argv[],
+   *r_process_id = convert_from_handle (pi.hProcess);
+   return 0;
+ }
++#endif
+ 
+ 
+ /* See gpgrt-int.h for a description.  */
+@@ -848,6 +864,7 @@ _gpgrt_wait_processes (const char **pgmnames, gpgrt_process_t *process_ids,
+ }
+ 
+ 
++#if 0
+ /* See gpgrt-int.h for a description.  */
+ gpg_err_code_t
+ _gpgrt_spawn_process_detached (const char *pgmname, const char *argv[],
+@@ -928,6 +945,7 @@ _gpgrt_spawn_process_detached (const char *pgmname, const char *argv[],
+ 
+   return 0;
+ }
++#endif
+ 
+ 
+ /* Kill a process; that is send an appropriate signal to the process.
+-- 
+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 db67d9ab41548f9f56a578dbe1c11800dd8b9487 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/12] 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 8709f63dd0384c67929ab2ef9c18733f78533c8b 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/12] 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 596a63bc148d6e644b28987c7210f5d9cbb8feac 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/13] 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 a24453e..500714c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -141,9 +141,9 @@ case "${host}" in
+ esac
+ 
+ 
+-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
+@@ -617,7 +617,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/SHA512SUMS
=====================================
@@ -1 +1 @@
-51b313c1159074fdbbce84f63bd8afd84b3b58cd608714865b25bed84c1862d050708aa06ac3dab92f1906593df5121161e594c2809653b0fb2c236cae5dcc2f  libgpg-error-1.27.tar.bz2
+bb4dd3faa8e2ec945e61fb2006697b48a51da7ee510b6650a6ab09c8734a987bc33c9835bc710ca9a9395c088271939091be418efc6ca5130b426c2fbc4959a3  libgpg-error-1.49.tar.bz2


=====================================
contrib/src/gpg-error/darwin-triplet.patch deleted
=====================================
@@ -1,46 +0,0 @@
-diff --git a/src/mkheader.c b/src/mkheader.c
-index 5aeb1e7..121d029 100644
---- a/src/mkheader.c
-+++ b/src/mkheader.c
-@@ -91,23 +91,41 @@ canon_host_triplet (const char *triplet)
-     {"armv5-unknown-linux-musleabi"   },
-     {"armv6-unknown-linux-musleabihf" },
-
-+    {"armv7-apple-darwin", "arm-apple-darwin"},
-+
-     { NULL }
-   };
-   int i;
-   const char *lastalias = NULL;
-
-+    /* 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';
-+  }
-+
-   for (i=0; tbl[i].name; i++)
-     {
-       if (tbl[i].alias)
-         lastalias = tbl[i].alias;
--      if (!strcmp (tbl[i].name, triplet))
-+      if (!strcmp (tbl[i].name, res_triplet))
-         {
-           if (!lastalias)
-             break; /* Ooops: first entry has no alias.  */
-+          free(res_triplet);
-           return xstrdup (lastalias);
-         }
-     }
--  return xstrdup (triplet);
-+
-+  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
+From 52f575635bed478b1c82f8a756fff6ea645cc3e3 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/12] use CreateFile2 in Win8 as CreateFileW is forbidden in
+ UWP
+
+---
+ src/estream.c     | 24 ++++++++++++++++++++++++
+ src/spawn-w32.c   | 12 ++++++++++++
+ src/w32-gettext.c | 10 ++++++++++
+ 3 files changed, 46 insertions(+)
+
+diff --git a/src/estream.c b/src/estream.c
+index 42027b4..a99a019 100644
+--- a/src/estream.c
++++ b/src/estream.c
+@@ -2030,6 +2030,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,
+@@ -2037,6 +2048,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 ()));
+@@ -5107,6 +5119,17 @@ tmpfd (void)
+           value <<= 4;
+         }
        strcpy (p, ".tmp");
- #endif
 +#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
 +      CREATEFILE2_EXTENDED_PARAMETERS params;
 +      memset (&params, 0, sizeof params);
@@ -15,48 +55,67 @@
 +                         CREATE_NEW,
 +                         &params);
 +#else
-       file = CreateFile (buffer,
+       file = CreateFileW (buffer,
                           GENERIC_READ | GENERIC_WRITE,
                           0,
-@@ -4568,6 +4579,7 @@ tmpfd (void)
+@@ -5114,6 +5137,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;
+           int fd = _open_osfhandle ((intptr_t)file, 0);
+diff --git a/src/spawn-w32.c b/src/spawn-w32.c
+index 324b5fe..eca56c0 100644
+--- a/src/spawn-w32.c
++++ b/src/spawn-w32.c
+@@ -270,10 +270,22 @@ w32_open_null (int for_write)
+ {
+   HANDLE hfile;
  
-+#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);
++#if _WIN32_WINNT >= 0x0602 // _WIN32_WINNT_WIN8
++    {
++      CREATEFILE2_EXTENDED_PARAMETERS createExParams;
++      memset (&createExParams, 0, sizeof(createExParams));
++      createExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
++      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,
+                        NULL, 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 817c1ca..467abba 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 ce7b647ee1aa27fc5f4a48c325e07b36398c39ff 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/12] 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 467abba..10a9904 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,18 @@
---- 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 9b691eb3b55e4d8ee027e56109081f90cef21dd7 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/12] fix UWP build
+
+---
+ src/mkheader.c                       |  2 +-
+ 2 files changed, 45 insertions(+), 1 deletion(-)
+ create mode 100644 src/syscfg/lock-obj-pub.mingw32uwp.h
+
+diff --git a/src/mkheader.c b/src/mkheader.c
+index 000a224..659508f 100644
+--- a/src/mkheader.c
++++ b/src/mkheader.c
+@@ -625,7 +625,7 @@ write_special (const char *fname, int lnr, const char *tag)
      }
    else if (!strcmp (tag, "include:os-add"))
      {
@@ -9,3 +21,6 @@
          {
            include_file (fname, lnr, "w32-add.h", write_line);
          }
+-- 
+2.45.1.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/rules.mak
=====================================
@@ -1,11 +1,12 @@
 # GPGERROR
-GPGERROR_VERSION := 1.27
+GPGERROR_VERSION := 1.49
 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,28 +14,24 @@ endif
 
 libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2 .sum-gpg-error
 	$(UNPACK)
+	$(call pkg_static,"src/gpg-error.pc.in")
 	# $(call update_autoconfig,build-aux)
-	$(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/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
 	# 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/0010-spawn-w32-don-t-compile-non-public-spawn-API.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
 
 	$(MOVE)
 
@@ -42,12 +39,14 @@ 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 bin_PROGRAMS=
-	$(MAKE) -C $< pre_mkheader_cmds=true bin_PROGRAMS= 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/mpg123/rules.mak
=====================================
@@ -38,6 +38,8 @@ mpg123: mpg123-$(MPG123_VERSION).tar.bz2 .sum-mpg123
 	$(UNPACK)
 	$(call update_autoconfig,build)
 	$(call pkg_static,"libmpg123.pc.in")
+	$(call pkg_static,"libout123.pc.in")
+	$(call pkg_static,"libsyn123.pc.in")
 	$(MOVE)
 
 .mpg123: mpg123


=====================================
contrib/src/pkg-static.sh
=====================================
@@ -4,7 +4,7 @@
 
 if test -z "$1" || test -n "$2"; then
 	echo "Usage: $0 <file.pc>" >&2
-	echo "Merges the pkg-config {Requires/Libs}.private stanza into {Requires/Libs} stanzas." >&2
+	echo "Merges the pkg-config {Requires/Libs/Cflags}.private stanza into {Requires/Libs/Cflags} stanzas." >&2
 	exit 1
 fi
 
@@ -14,12 +14,16 @@ LIBS_PUBLIC=""
 LIBS_PRIVATE=""
 REQUIRES_PUBLIC=""
 REQUIRES_PRIVATE=""
+CFLAGS_PUBLIC=""
+CFLAGS_PRIVATE=""
 
 while read LINE; do
 	lpub="${LINE#Libs:}"
 	lpriv="${LINE#Libs.private:}"
 	rpub="${LINE#Requires:}"
 	rpriv="${LINE#Requires.private:}"
+	cpub="${LINE#Cflags:}"
+	cpriv="${LINE#Cflags.private:}"
 	if test "$lpub" != "$LINE"; then
 		LIBS_PUBLIC="$lpub"
 	elif test "$lpriv" != "$LINE"; then
@@ -28,11 +32,16 @@ while read LINE; do
 		REQUIRES_PUBLIC="$rpub"
 	elif test "$rpriv" != "$LINE"; then
 		REQUIRES_PRIVATE="$rpriv"
+	elif test "$cpub" != "$LINE"; then
+		CFLAGS_PUBLIC="$cpub"
+	elif test "$cpriv" != "$LINE"; then
+		CFLAGS_PRIVATE="$cpriv"
 	else
 		echo "$LINE"
 	fi
 done
 echo "Libs: $LIBS_PUBLIC $LIBS_PRIVATE"
+echo "Cflags: $CFLAGS_PUBLIC $CFLAGS_PRIVATE"
 echo "Requires: $REQUIRES_PUBLIC $REQUIRES_PRIVATE"
 
 mv -f -- "$1.tmp" "$1"


=====================================
contrib/src/twolame/rules.mak
=====================================
@@ -18,9 +18,10 @@ $(TARBALLS)/twolame-$(TWOLAME_VERSION).tar.gz:
 twolame: twolame-$(TWOLAME_VERSION).tar.gz .sum-twolame
 	$(UNPACK)
 	$(call update_autoconfig,build-scripts)
+	$(call pkg_static,"twolame.pc.in")
 	$(MOVE)
 
-TWOLAME_CONF := CFLAGS="${CFLAGS} -DLIBTWOLAME_STATIC"
+TWOLAME_CONF := --enable-static
 
 .twolame: twolame
 	$(MAKEBUILDDIR)


=====================================
modules/access_output/Makefile.am
=====================================
@@ -11,7 +11,7 @@ access_out_LTLIBRARIES = \
 
 libaccess_output_livehttp_plugin_la_SOURCES = access_output/livehttp.c
 libaccess_output_livehttp_plugin_la_CFLAGS = $(AM_CFLAGS) $(GCRYPT_CFLAGS)
-libaccess_output_livehttp_plugin_la_LIBADD = $(GCRYPT_LIBS) -lgpg-error $(LIBM)
+libaccess_output_livehttp_plugin_la_LIBADD = $(GCRYPT_LIBS) $(LIBM)
 if HAVE_GCRYPT
 access_out_LTLIBRARIES += libaccess_output_livehttp_plugin.la
 endif


=====================================
modules/codec/Makefile.am
=====================================
@@ -597,7 +597,7 @@ codec_LTLIBRARIES += $(LTLIBrav1e)
 endif
 
 libtwolame_plugin_la_SOURCES = codec/twolame.c
-libtwolame_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DLIBTWOLAME_STATIC
+libtwolame_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
 libtwolame_plugin_la_CFLAGS = $(AM_CFLAGS) $(TWOLAME_CFLAGS)
 libtwolame_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
 libtwolame_plugin_la_LIBADD = $(TWOLAME_LIBS) $(LIBM)


=====================================
modules/codec/meson.build
=====================================
@@ -864,7 +864,6 @@ vlc_modules += {
     'name' : 'twolame',
     'sources' : files('twolame.c'),
     'dependencies' : [twolame_dep],
-    'c_args' : ['-DLIBTWOLAME_STATIC'],
     'enabled' : twolame_dep.found(),
 }
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7fd61bea89450c6c20a94d59118d24cf2e2cb0bf...3738e7799d1c0baf7b881ad699ac4294cec6495d

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7fd61bea89450c6c20a94d59118d24cf2e2cb0bf...3738e7799d1c0baf7b881ad699ac4294cec6495d
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list