<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/42e06393f08b5bec6354e346a7518e2a2c60453e">https://github.com/macports/macports-ports/commit/42e06393f08b5bec6354e346a7518e2a2c60453e</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 42e06393f08 wine-devel,wine-staging: Update to 10.3
</span>42e06393f08 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 42e06393f08b5bec6354e346a7518e2a2c60453e
</span>Author: Dean M Greer <38226388+Gcenx@users.noreply.github.com>
AuthorDate: Sat Mar 8 17:51:37 2025 -0500

<span style='display:block; white-space:pre;color:#404040;'>    wine-devel,wine-staging: Update to 10.3
</span>---
 emulators/wine-devel/Portfile                 |  19 +--
 emulators/wine-devel/files/0003-bug56854.diff |  23 ---
 emulators/wine-devel/files/MR7448.diff        | 225 --------------------------
 3 files changed, 7 insertions(+), 260 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/Portfile b/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7b185ec846f..85699fb0d3a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup                   muniversal 1.1
</span> 
 # Keep the wine-stable, wine-devel and wine-crossover portfiles as similar as possible.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup                wine-mirror wine 10.2 wine-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup                wine-mirror wine 10.3 wine-
</span> github.tarball_from         archive
 name                        wine-devel
 conflicts                   wine-stable wine-staging wine-crossover
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,9 +38,9 @@ long_description \
</span> 
 checksums \
     ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    rmd160  163fecb6f1ee59a44b37e2b9eb237ab65488ab3c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sha256  bcf1a9870f1a670eddffcc329f1b44e8a900596fb2c7a3ec8c83b27e65a9b42e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    size    52061847
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    rmd160  8a8db166d082ed4a6305f744a73f95e064fc62a4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sha256  f724829eb0cb39cd521bb636c2c3ef7ebee130fb7509dc67b03f9ac5349d2e82 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    size    52419009
</span> 
 depends_build \
     port:bison \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,11 +75,6 @@ patchfiles-append \
</span> patchfiles-append \
     0002-macos_hacks.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Bug fixes (remove wine-10.3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0003-bug56854.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    MR7448.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # wine requires the program specified in INSTALL to create intermediate
 # directories; /usr/bin/install doesn't.
 # http://bugs.winehq.org/show_bug.cgi?id=35310
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,9 +145,9 @@ subport wine-staging {
</span> 
     checksums-append \
         ${wine_staging_distfile} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        rmd160  e3cd40fcbe96c3b52b728f815328e6c9e9c40d01 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        sha256  44d051a8622dd6245d63b88d988eebcdb712d309ee57eccdccbe59d6c4788194 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        size    9386579
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        rmd160  812b67e394436a9773066efceb1b2728863f7153 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sha256  775fc4e8cef23700e4ec8e14923d6cf737136ef5be3071fcda7dd55168d4b9e9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        size    9417555
</span> 
     depends_patch-append    port:autoconf
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/0003-bug56854.diff b/emulators/wine-devel/files/0003-bug56854.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4a2cf661869..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/files/0003-bug56854.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 05315ce3da4d6f04232611fb5dd6ffbd77f87ce7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Alexandre Julliard <julliard@winehq.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 22 Feb 2025 09:34:55 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] ntdll: Fix pointer access in read_image_directory().
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57854
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dlls/ntdll/loader.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 33415b6dda8f..13a92af34053 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/dlls/ntdll/loader.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/dlls/ntdll/loader.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2404,7 +2404,7 @@ static ULONG read_image_directory( HANDLE file, const SECTION_IMAGE_INFORMATION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     offset.QuadPart += offsetof( IMAGE_NT_HEADERS32, OptionalHeader ) + nt.nt32.FileHeader.SizeOfOptionalHeader;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     count = nt.nt32.FileHeader.NumberOfSections;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!(sec = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*sec) * count ))) return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (NtReadFile( file, 0, NULL, NULL, &io, &sec, count * sizeof(*sec), &offset, NULL )) goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (NtReadFile( file, 0, NULL, NULL, &io, sec, count * sizeof(*sec), &offset, NULL )) goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (io.Information != count * sizeof(*sec)) goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     for (i = 0; i < count; i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/MR7448.diff b/emulators/wine-devel/files/MR7448.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index ed4d5dddbb3..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/files/MR7448.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,225 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2cc634045596498bf09faacb8ecc18b7ee24a715 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Feb 2025 16:52:42 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/4] winegcc: Rename TOOL_ enum constants.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-macOS has conflicting TOOL_ defines in <mach-o/loader.h>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/winegcc/winegcc.c | 30 +++++++++++++++---------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 15 insertions(+), 15 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 600bd171b89..5516ca196c3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/winegcc/winegcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/winegcc/winegcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -236,11 +236,11 @@ static int is_pe_target( const struct options *opts )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enum tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    TOOL_CC,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    TOOL_CXX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    TOOL_CPP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    TOOL_LD,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    TOOL_OBJCOPY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    WINEGCC_TOOL_CC,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    WINEGCC_TOOL_CXX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    WINEGCC_TOOL_CPP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    WINEGCC_TOOL_LD,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    WINEGCC_TOOL_OBJCOPY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static const struct
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -312,12 +312,12 @@ static struct strarray get_translator(struct options *opts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     switch(opts->processor)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case proc_cpp:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        return build_tool_name( opts, opts->target_alias, TOOL_CPP );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CPP );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case proc_cc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case proc_as:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        return build_tool_name( opts, opts->target_alias, TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case proc_cxx:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        return build_tool_name( opts, opts->target_alias, TOOL_CXX );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CXX );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     assert(0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return empty_strarray;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -639,8 +639,8 @@ static void compile(struct options* opts, const char* lang)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* mixing different C and C++ compilers isn't supported in configure anyway */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case proc_cc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case proc_cxx:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            gcc = build_tool_name( opts, opts->target_alias, TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            gpp = build_tool_name( opts, opts->target_alias, TOOL_CXX );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            gcc = build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            gpp = build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CXX );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             for ( j = 0; !gcc_defs && j < comp_args.count; j++ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 const char *cc = comp_args.str[j];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -963,11 +963,11 @@ static void build_spec_obj( struct options *opts, const char *spec_file, const c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* get the filename from the path */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     output_name = get_basename( output_file );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    tool = build_tool_name( opts, target, TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    tool = build_tool_name( opts, target, WINEGCC_TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     strarray_add( &spec_args, strmake( "--cc-cmd=%s", strarray_tostring( tool, " " )));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!is_pe)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        tool = build_tool_name( opts, target, TOOL_LD );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        tool = build_tool_name( opts, target, WINEGCC_TOOL_LD );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         strarray_add( &spec_args, strmake( "--ld-cmd=%s", strarray_tostring( tool, " " )));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1362,7 +1362,7 @@ static void build(struct options* opts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (opts->debug_file && !strendswith(opts->debug_file, ".pdb"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        struct strarray tool, objcopy = build_tool_name(opts, opts->target_alias, TOOL_OBJCOPY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        struct strarray tool, objcopy = build_tool_name(opts, opts->target_alias, WINEGCC_TOOL_OBJCOPY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         tool = empty_strarray;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         strarray_addall( &tool, objcopy );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1393,9 +1393,9 @@ static void build(struct options* opts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             error("--out-implib requires a .spec or .def file\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         implib_args = get_winebuild_args( opts, opts->target_alias );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        tool = build_tool_name( opts, opts->target_alias, TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        tool = build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_CC );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         strarray_add( &implib_args, strmake( "--cc-cmd=%s", strarray_tostring( tool, " " )));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        tool = build_tool_name( opts, opts->target_alias, TOOL_LD );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        tool = build_tool_name( opts, opts->target_alias, WINEGCC_TOOL_LD );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         strarray_add( &implib_args, strmake( "--ld-cmd=%s", strarray_tostring( tool, " " )));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         strarray_add(&implib_args, "--implib");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-GitLab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 7ca56806adef6068f5d05c821e1bd0ea78305528 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Feb 2025 16:55:40 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/4] tools: Use _NSGetExecutablePath to implement get_bindir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- on macOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57874
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/tools.h | 9 +++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 9 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/tools.h b/tools/tools.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 319aff77da7..f017bab0e93 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/tools.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/tools.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,6 +39,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_SYS_SYSCTL_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/sysctl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef _WIN32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <direct.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -705,6 +708,12 @@ static inline char *get_bindir( const char *argv0 )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!sysctl( pathname, ARRAY_SIZE(pathname), path, &path_size, NULL, 0 ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         dir = realpath( path, NULL );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     free( path );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    uint32_t path_size = PATH_MAX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    char *path = xmalloc( path_size );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (!_NSGetExecutablePath( path, &path_size ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        dir = realpath( path, NULL );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    free( path );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!dir && !(dir = realpath( argv0, NULL ))) return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return get_dirname( dir );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-GitLab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 9d024c3d321894b844bffd7f70db8bc95cefe948 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Feb 2025 16:57:41 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/4] server: Use _NSGetExecutablePath to implement get_nls_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- on macOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- server/unicode.c | 14 ++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 14 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/server/unicode.c b/server/unicode.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b4864310f83..bb39b55e50c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/server/unicode.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/server/unicode.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,6 +29,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_SYS_SYSCTL_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/sysctl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "windef.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "winternl.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -290,6 +293,17 @@ static char *get_nls_dir(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             dir = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    uint32_t dir_size = PATH_MAX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dir = malloc( dir_size );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (dir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (_NSGetExecutablePath( dir, &dir_size ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            free( dir );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            dir = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     dir = realpath( server_argv0, NULL );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-GitLab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From a17a8fbda266820091cad3dd87e7bbb682cfcf65 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Feb 2025 17:01:58 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 4/4] loader: Use _NSGetExecutablePath to implement
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_self_exe on macOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- loader/main.c | 9 +++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 9 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/loader/main.c b/loader/main.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3467d29cb5c..f8b113f3136 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/loader/main.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/loader/main.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,6 +34,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_SYS_SYSCTL_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/sysctl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "main.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -134,6 +137,12 @@ static const char *get_self_exe(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (path && !sysctl( pathname, sizeof(pathname)/sizeof(pathname[0]), path, &path_size, NULL, 0 ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return path;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     free( path );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    uint32_t path_size = PATH_MAX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    char *path = malloc( path_size );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (path && !_NSGetExecutablePath( path, &path_size ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return path;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    free( path );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-GitLab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>

</pre>