205
mingw-w64-freerdp/0001-fix-warnings-mingw.patch
Normal file
205
mingw-w64-freerdp/0001-fix-warnings-mingw.patch
Normal file
@@ -0,0 +1,205 @@
|
||||
From d22b58b5cee40b003b7d5fa98aa659c88bbdf3d0 Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Wed, 28 Apr 2021 18:25:21 +0530
|
||||
Subject: [PATCH 1/3] CMake: Set ffmpeg and zlib optional in Win32.
|
||||
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5c4189da917..2e53e89b103 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -758,13 +758,13 @@
|
||||
if(WIN32)
|
||||
set(X11_FEATURE_TYPE "DISABLED")
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
- set(ZLIB_FEATURE_TYPE "DISABLED")
|
||||
+ set(ZLIB_FEATURE_TYPE "OPTIONAL")
|
||||
set(OSS_FEATURE_TYPE "DISABLED")
|
||||
set(ALSA_FEATURE_TYPE "DISABLED")
|
||||
set(PULSE_FEATURE_TYPE "DISABLED")
|
||||
set(CUPS_FEATURE_TYPE "DISABLED")
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
- set(FFMPEG_FEATURE_TYPE "DISABLED")
|
||||
+ set(FFMPEG_FEATURE_TYPE "OPTIONAL")
|
||||
set(VAAPI_FEATURE_TYPE "DISABLED")
|
||||
set(OPENSLES_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
From 524214cd48efb4bfc55d060b25ecc6e7f3788a54 Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Wed, 28 Apr 2021 18:30:24 +0530
|
||||
Subject: [PATCH 2/3] Check _MSC_VER for MSVC specific pragma directives.
|
||||
|
||||
---
|
||||
client/Windows/wf_floatbar.c | 2 ++
|
||||
libfreerdp/core/settings.c | 4 ++--
|
||||
winpr/libwinpr/path/shell.c | 2 +-
|
||||
winpr/libwinpr/utils/trio/trio.c | 4 ++--
|
||||
4 files changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/client/Windows/wf_floatbar.c b/client/Windows/wf_floatbar.c
|
||||
index 512c66b473e..793569bc640 100644
|
||||
--- a/client/Windows/wf_floatbar.c
|
||||
+++ b/client/Windows/wf_floatbar.c
|
||||
@@ -25,7 +25,9 @@
|
||||
#include "wf_client.h"
|
||||
#include "wf_floatbar.h"
|
||||
#include "wf_gdi.h"
|
||||
+#ifdef _MSC_VER
|
||||
#pragma comment(lib, "Msimg32.lib")
|
||||
+#endif
|
||||
|
||||
#define TAG CLIENT_TAG("windows.floatbar")
|
||||
|
||||
diff --git a/libfreerdp/core/settings.c b/libfreerdp/core/settings.c
|
||||
index 6539d43699d..b1703fec506 100644
|
||||
--- a/libfreerdp/core/settings.c
|
||||
+++ b/libfreerdp/core/settings.c
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
#define TAG FREERDP_TAG("settings")
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4244)
|
||||
#endif
|
||||
@@ -1112,6 +1112,6 @@ rdpSettings* freerdp_settings_clone(const rdpSettings* settings)
|
||||
freerdp_settings_free(_settings);
|
||||
return NULL;
|
||||
}
|
||||
-#ifdef _WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
diff --git a/winpr/libwinpr/path/shell.c b/winpr/libwinpr/path/shell.c
|
||||
index c373f039925..fc536c6bab6 100644
|
||||
--- a/winpr/libwinpr/path/shell.c
|
||||
+++ b/winpr/libwinpr/path/shell.c
|
||||
@@ -663,7 +663,7 @@ BOOL PathIsDirectoryEmptyW(LPCWSTR pszPath)
|
||||
|
||||
#else
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#pragma comment(lib, "shlwapi.lib")
|
||||
#endif
|
||||
|
||||
diff --git a/winpr/libwinpr/utils/trio/trio.c b/winpr/libwinpr/utils/trio/trio.c
|
||||
index b278f475b75..a2c0290bc54 100644
|
||||
--- a/winpr/libwinpr/utils/trio/trio.c
|
||||
+++ b/winpr/libwinpr/utils/trio/trio.c
|
||||
@@ -406,7 +406,7 @@ typedef trio_longlong_t trio_int64_t;
|
||||
* Internal Definitions
|
||||
*/
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4244)
|
||||
#endif
|
||||
@@ -7189,6 +7189,6 @@ TRIO_PUBLIC TRIO_CONST char* trio_strerror TRIO_ARGS1((errorcode), int errorcode
|
||||
#endif
|
||||
}
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
From 788849cb9b74540f8234b875d6b5622a96a64c73 Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Wed, 28 Apr 2021 18:32:54 +0530
|
||||
Subject: [PATCH 3/3] Fix intialization, remove some unused variables.
|
||||
|
||||
---
|
||||
client/Windows/wf_floatbar.c | 16 ++++------------
|
||||
libfreerdp/utils/stopwatch.c | 2 +-
|
||||
server/Windows/wf_mirage.c | 1 -
|
||||
winpr/libwinpr/file/generic.c | 1 -
|
||||
winpr/libwinpr/synch/sleep.c | 6 +++---
|
||||
5 files changed, 8 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/client/Windows/wf_floatbar.c b/client/Windows/wf_floatbar.c
|
||||
index 793569bc640..b5fe3207d67 100644
|
||||
--- a/client/Windows/wf_floatbar.c
|
||||
+++ b/client/Windows/wf_floatbar.c
|
||||
@@ -357,18 +357,10 @@ static BOOL floatbar_paint(wfFloatBar* const floatbar, const HDC hdc)
|
||||
int bottom = BACKGROUND_H - 1;
|
||||
int right = BACKGROUND_W - 1;
|
||||
const int angleOffset = BACKGROUND_H - 1;
|
||||
- TRIVERTEX triVertext[2] = { left,
|
||||
- top,
|
||||
- GetRValue(rgbTop) << 8,
|
||||
- GetGValue(rgbTop) << 8,
|
||||
- GetBValue(rgbTop) << 8,
|
||||
- 0x0000,
|
||||
- right,
|
||||
- bottom,
|
||||
- GetRValue(rgbBottom) << 8,
|
||||
- GetGValue(rgbBottom) << 8,
|
||||
- GetBValue(rgbBottom) << 8,
|
||||
- 0x0000 };
|
||||
+ TRIVERTEX triVertext[2] = { { left, top, GetRValue(rgbTop) << 8, GetGValue(rgbTop) << 8,
|
||||
+ GetBValue(rgbTop) << 8, 0x0000 },
|
||||
+ { right, bottom, GetRValue(rgbBottom) << 8,
|
||||
+ GetGValue(rgbBottom) << 8, GetBValue(rgbBottom) << 8, 0x0000 } };
|
||||
|
||||
if (!floatbar)
|
||||
return FALSE;
|
||||
diff --git a/libfreerdp/utils/stopwatch.c b/libfreerdp/utils/stopwatch.c
|
||||
index b30890cd990..4dc207b6576 100644
|
||||
--- a/libfreerdp/utils/stopwatch.c
|
||||
+++ b/libfreerdp/utils/stopwatch.c
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <freerdp/utils/stopwatch.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
-LARGE_INTEGER stopwatch_freq = { 0, 0 };
|
||||
+LARGE_INTEGER stopwatch_freq = { 0 };
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
diff --git a/server/Windows/wf_mirage.c b/server/Windows/wf_mirage.c
|
||||
index 272bcbc64af..524ff6e0eaa 100644
|
||||
--- a/server/Windows/wf_mirage.c
|
||||
+++ b/server/Windows/wf_mirage.c
|
||||
@@ -195,7 +195,6 @@ void wf_mirror_driver_print_display_change_status(LONG status)
|
||||
|
||||
BOOL wf_mirror_driver_update(wfInfo* wfi, int mode)
|
||||
{
|
||||
- HDC dc;
|
||||
BOOL status;
|
||||
DWORD* extHdr;
|
||||
WORD drvExtraSaved;
|
||||
diff --git a/winpr/libwinpr/file/generic.c b/winpr/libwinpr/file/generic.c
|
||||
index 2faee83ad0a..7f230fe6d7e 100644
|
||||
--- a/winpr/libwinpr/file/generic.c
|
||||
+++ b/winpr/libwinpr/file/generic.c
|
||||
@@ -1299,7 +1299,6 @@ int UnixChangeFileMode(const char* filename, int flags)
|
||||
#else
|
||||
int rc;
|
||||
WCHAR* wfl = NULL;
|
||||
- int fl = 0;
|
||||
|
||||
if (ConvertToUnicode(CP_UTF8, 0, filename, -1, &wfl, 0) <= 0)
|
||||
return -1;
|
||||
diff --git a/winpr/libwinpr/synch/sleep.c b/winpr/libwinpr/synch/sleep.c
|
||||
index 05e7c53c535..7de1a3a521f 100644
|
||||
--- a/winpr/libwinpr/synch/sleep.c
|
||||
+++ b/winpr/libwinpr/synch/sleep.c
|
||||
@@ -117,9 +117,9 @@ VOID USleep(DWORD dwMicroseconds)
|
||||
#ifndef _WIN32
|
||||
usleep(dwMicroseconds);
|
||||
#else
|
||||
- static LARGE_INTEGER freq = { 0, 0 };
|
||||
- LARGE_INTEGER t1 = { 0, 0 };
|
||||
- LARGE_INTEGER t2 = { 0, 0 };
|
||||
+ static LARGE_INTEGER freq = { 0 };
|
||||
+ LARGE_INTEGER t1 = { 0 };
|
||||
+ LARGE_INTEGER t2 = { 0 };
|
||||
|
||||
QueryPerformanceCounter(&t1);
|
||||
|
||||
308
mingw-w64-freerdp/0002-fix-build-errors-mingw.patch
Normal file
308
mingw-w64-freerdp/0002-fix-build-errors-mingw.patch
Normal file
@@ -0,0 +1,308 @@
|
||||
From b788942c7c55f78121a195f989748c0ba92194ad Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Mon, 24 May 2021 10:21:42 +0530
|
||||
Subject: [PATCH 1/3] CMake: Install DLLs in bin folder.
|
||||
|
||||
In Win32 platform, executables and runtime libraries need to be in one folder.
|
||||
---
|
||||
client/common/CMakeLists.txt | 5 ++++-
|
||||
libfreerdp/CMakeLists.txt | 6 +++++-
|
||||
server/Windows/CMakeLists.txt | 5 ++++-
|
||||
server/common/CMakeLists.txt | 6 +++++-
|
||||
server/shadow/CMakeLists.txt | 10 ++++++++--
|
||||
winpr/libwinpr/CMakeLists.txt | 6 +++++-
|
||||
winpr/tools/CMakeLists.txt | 6 +++++-
|
||||
7 files changed, 36 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/client/common/CMakeLists.txt b/client/common/CMakeLists.txt
|
||||
index cc8f277691e..095039d5779 100644
|
||||
--- a/client/common/CMakeLists.txt
|
||||
+++ b/client/common/CMakeLists.txt
|
||||
@@ -74,7 +74,10 @@ else()
|
||||
endif()
|
||||
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDP-ClientTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ClientTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt
|
||||
index ef76d059b5b..9b82f6e7033 100644
|
||||
--- a/libfreerdp/CMakeLists.txt
|
||||
+++ b/libfreerdp/CMakeLists.txt
|
||||
@@ -395,7 +395,11 @@ endif()
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${LIBFREERDP_LIBS} winpr)
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDPTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDPTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
|
||||
diff --git a/server/Windows/CMakeLists.txt b/server/Windows/CMakeLists.txt
|
||||
index aed120586f9..f12687c0cfe 100644
|
||||
--- a/server/Windows/CMakeLists.txt
|
||||
+++ b/server/Windows/CMakeLists.txt
|
||||
@@ -98,7 +98,10 @@
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(WITH_SERVER_INTERFACE)
|
||||
- install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
|
||||
+ install(TARGETS ${MODULE_NAME} COMPONENT libraries
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
|
||||
diff --git a/server/common/CMakeLists.txt b/server/common/CMakeLists.txt
|
||||
index c94a20911b7..2ba633dece9 100644
|
||||
--- a/server/common/CMakeLists.txt
|
||||
+++ b/server/common/CMakeLists.txt
|
||||
@@ -63,7 +63,11 @@ endif()
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${FREERDP_CHANNELS_SERVER_LIBS})
|
||||
target_link_libraries(${MODULE_NAME} ${PUBLIC_KEYWORD} winpr freerdp)
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDP-ServerTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ServerTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
|
||||
diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt
|
||||
index 3e0df0b1341..cee1423330a 100644
|
||||
--- a/server/shadow/CMakeLists.txt
|
||||
+++ b/server/shadow/CMakeLists.txt
|
||||
@@ -86,7 +86,10 @@ if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
endif()
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT server EXPORT FreeRDP-ShadowTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT server EXPORT FreeRDP-ShadowTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
@@ -291,7 +294,10 @@ if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
endif()
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT server EXPORT FreeRDP-ShadowTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT server EXPORT FreeRDP-ShadowTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt
|
||||
index d9673f2d4a2..7ccc09e6e7b 100644
|
||||
--- a/winpr/libwinpr/CMakeLists.txt
|
||||
+++ b/winpr/libwinpr/CMakeLists.txt
|
||||
@@ -142,7 +142,11 @@ endif()
|
||||
|
||||
add_definitions(${WINPR_DEFINITIONS})
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_LIBS_PRIVATE} ${PUBLIC_KEYWORD} ${WINPR_LIBS_PUBLIC})
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
|
||||
diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt
|
||||
index 0ddf9fb522d..cf96686ac5e 100644
|
||||
--- a/winpr/tools/CMakeLists.txt
|
||||
+++ b/winpr/tools/CMakeLists.txt
|
||||
@@ -112,7 +112,11 @@ endif()
|
||||
add_definitions(${WINPR_DEFINITIONS})
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_TOOLS_LIBS})
|
||||
|
||||
-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets)
|
||||
+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+
|
||||
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
|
||||
get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
|
||||
install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
|
||||
|
||||
From f8cd22cc915d688f1ee3b4ab0bbd4f6c114baa75 Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Mon, 24 May 2021 10:53:49 +0530
|
||||
Subject: [PATCH 3/3] Check MINGW32 for duplicate type declaration.
|
||||
|
||||
---
|
||||
include/freerdp/channels/rdpdr.h | 2 ++
|
||||
include/freerdp/codec/audio.h | 2 ++
|
||||
include/freerdp/rail.h | 2 +-
|
||||
include/freerdp/server/rdpdr.h | 2 ++
|
||||
server/Windows/wf_wasapi.c | 4 +++-
|
||||
winpr/include/winpr/intrin.h | 2 +-
|
||||
winpr/include/winpr/nt.h | 6 +++++-
|
||||
7 files changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/include/freerdp/channels/rdpdr.h b/include/freerdp/channels/rdpdr.h
|
||||
index b61a4c7e189..07af2600f22 100644
|
||||
--- a/include/freerdp/channels/rdpdr.h
|
||||
+++ b/include/freerdp/channels/rdpdr.h
|
||||
@@ -298,6 +298,7 @@ enum FILE_FS_DEVICE_FLAG
|
||||
FILE_DEVICE_SECURE_OPEN = 0x00000100
|
||||
};
|
||||
|
||||
+#ifndef __MINGW32__
|
||||
enum FILE_FS_INFORMATION_CLASS
|
||||
{
|
||||
FileFsVolumeInformation = 1,
|
||||
@@ -311,6 +312,7 @@ enum FILE_FS_INFORMATION_CLASS
|
||||
FileFsDriverPathInformation,
|
||||
FileFsMaximumInformation
|
||||
};
|
||||
+#endif
|
||||
|
||||
typedef struct _DEVICE DEVICE;
|
||||
typedef struct _IRP IRP;
|
||||
diff --git a/include/freerdp/codec/audio.h b/include/freerdp/codec/audio.h
|
||||
index e9c0408e8c7..82075826891 100644
|
||||
--- a/include/freerdp/codec/audio.h
|
||||
+++ b/include/freerdp/codec/audio.h
|
||||
@@ -69,6 +69,7 @@ typedef struct AUDIO_FORMAT AUDIO_FORMAT;
|
||||
* http://tools.ietf.org/html/rfc2361
|
||||
*/
|
||||
|
||||
+#ifndef __MINGW32__
|
||||
#define WAVE_FORMAT_UNKNOWN 0x0000
|
||||
|
||||
#ifndef WAVE_FORMAT_PCM
|
||||
@@ -183,6 +184,7 @@ typedef struct AUDIO_FORMAT AUDIO_FORMAT;
|
||||
#define WAVE_FORMAT_NORRIS 0x1400
|
||||
#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
|
||||
#define WAVE_FORMAT_DVM 0x2000
|
||||
+#endif /* !__MINGW32__ */
|
||||
#define WAVE_FORMAT_AAC_MS 0xA106
|
||||
|
||||
/**
|
||||
diff --git a/include/freerdp/rail.h b/include/freerdp/rail.h
|
||||
index 961ea8f8f5b..8f531fbb771 100644
|
||||
--- a/include/freerdp/rail.h
|
||||
+++ b/include/freerdp/rail.h
|
||||
@@ -246,7 +246,7 @@ enum SPI_MASK
|
||||
#define IME_STATE_OPEN 0x00000001
|
||||
|
||||
/* ImeConvMode */
|
||||
-#ifndef _IME_CMODES_
|
||||
+#if !defined(_IME_CMODES_) && !defined(__MINGW32__)
|
||||
#define IME_CMODE_NATIVE 0x00000001
|
||||
#define IME_CMODE_KATAKANA 0x00000002
|
||||
#define IME_CMODE_FULLSHAPE 0x00000008
|
||||
diff --git a/include/freerdp/server/rdpdr.h b/include/freerdp/server/rdpdr.h
|
||||
index 63ddca564d8..72ed0ab2fc1 100644
|
||||
--- a/include/freerdp/server/rdpdr.h
|
||||
+++ b/include/freerdp/server/rdpdr.h
|
||||
@@ -35,6 +35,7 @@
|
||||
typedef struct _rdpdr_server_context RdpdrServerContext;
|
||||
typedef struct _rdpdr_server_private RdpdrServerPrivate;
|
||||
|
||||
+#ifndef __MINGW32__
|
||||
struct _FILE_DIRECTORY_INFORMATION
|
||||
{
|
||||
UINT32 NextEntryOffset;
|
||||
@@ -49,6 +50,7 @@ struct _FILE_DIRECTORY_INFORMATION
|
||||
char FileName[512];
|
||||
};
|
||||
typedef struct _FILE_DIRECTORY_INFORMATION FILE_DIRECTORY_INFORMATION;
|
||||
+#endif
|
||||
|
||||
typedef UINT (*psRdpdrStart)(RdpdrServerContext* context);
|
||||
typedef UINT (*psRdpdrStop)(RdpdrServerContext* context);
|
||||
diff --git a/server/Windows/wf_wasapi.c b/server/Windows/wf_wasapi.c
|
||||
index 9a9dca1c1be..aa7dcd1af6f 100644
|
||||
--- a/server/Windows/wf_wasapi.c
|
||||
+++ b/server/Windows/wf_wasapi.c
|
||||
@@ -18,6 +18,7 @@
|
||||
//#define REFTIMES_PER_SEC 50000
|
||||
//#define REFTIMES_PER_MILLISEC 50
|
||||
|
||||
+#ifndef __MINGW32__
|
||||
DEFINE_GUID(CLSID_MMDeviceEnumerator, 0xBCDE0395, 0xE52F, 0x467C, 0x8E, 0x3D, 0xC4, 0x57, 0x92,
|
||||
0x91, 0x69, 0x2E);
|
||||
DEFINE_GUID(IID_IMMDeviceEnumerator, 0xA95664D2, 0x9614, 0x4F35, 0xA7, 0x46, 0xDE, 0x8D, 0xB6, 0x36,
|
||||
@@ -26,6 +27,7 @@ DEFINE_GUID(IID_IAudioClient, 0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1, 0x78, 0xc2, 0xf5
|
||||
0xb2);
|
||||
DEFINE_GUID(IID_IAudioCaptureClient, 0xc8adbd64, 0xe71e, 0x48a0, 0xa4, 0xde, 0x18, 0x5c, 0x39, 0x5c,
|
||||
0xd3, 0x17);
|
||||
+#endif
|
||||
|
||||
LPWSTR devStr = NULL;
|
||||
wfPeerContext* latestPeer = NULL;
|
||||
@@ -162,7 +164,7 @@ int wf_wasapi_get_device_string(LPWSTR pattern, LPWSTR* deviceStr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static DWORD WINAPI wf_rdpsnd_wasapi_thread(LPVOID lpParam)
|
||||
+DWORD WINAPI wf_rdpsnd_wasapi_thread(LPVOID lpParam)
|
||||
{
|
||||
IMMDeviceEnumerator* pEnumerator = NULL;
|
||||
IMMDevice* pDevice = NULL;
|
||||
diff --git a/winpr/include/winpr/intrin.h b/winpr/include/winpr/intrin.h
|
||||
index 53f6b346ab1..b6c3a48ce08 100644
|
||||
--- a/winpr/include/winpr/intrin.h
|
||||
+++ b/winpr/include/winpr/intrin.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef WINPR_INTRIN_H
|
||||
#define WINPR_INTRIN_H
|
||||
|
||||
-#ifndef _WIN32
|
||||
+#if !defined(_WIN32) || defined(__MINGW32__)
|
||||
|
||||
/**
|
||||
* __lzcnt16, __lzcnt, __lzcnt64:
|
||||
diff --git a/winpr/include/winpr/nt.h b/winpr/include/winpr/nt.h
|
||||
index 0cbcde0beae..c58158550cd 100644
|
||||
--- a/winpr/include/winpr/nt.h
|
||||
+++ b/winpr/include/winpr/nt.h
|
||||
@@ -1267,7 +1267,7 @@ static INLINE NTSTATUS NTSTATUS_FROM_WIN32(long x)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
|
||||
/**
|
||||
* winternl.h contains an incomplete definition of enum FILE_INFORMATION_CLASS
|
||||
@@ -1288,8 +1288,11 @@ static INLINE NTSTATUS NTSTATUS_FROM_WIN32(long x)
|
||||
#undef _FILE_INFORMATION_CLASS
|
||||
#undef FileDirectoryInformation
|
||||
|
||||
+#elif defined(_WIN32)
|
||||
+#include <winternl.h>
|
||||
#endif
|
||||
|
||||
+#ifndef __MINGW32__
|
||||
typedef enum _FILE_INFORMATION_CLASS
|
||||
{
|
||||
FileDirectoryInformation = 1,
|
||||
@@ -1333,6 +1336,7 @@ typedef enum _FILE_INFORMATION_CLASS
|
||||
FileValidDataLengthInformation,
|
||||
FileShortNameInformation
|
||||
} FILE_INFORMATION_CLASS;
|
||||
+#endif /* !__MINGW32__ */
|
||||
|
||||
#if !defined(_WIN32) || defined(_UWP)
|
||||
|
||||
25
mingw-w64-freerdp/0003-remove-declspec-import-export.patch
Normal file
25
mingw-w64-freerdp/0003-remove-declspec-import-export.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
--- a/winpr/include/winpr/spec.h
|
||||
+++ b/winpr/include/winpr/spec.h
|
||||
@@ -956,22 +956,4 @@
|
||||
|
||||
#endif
|
||||
|
||||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
-#ifdef __GNUC__
|
||||
-#define DECLSPEC_EXPORT __attribute__((dllexport))
|
||||
-#define DECLSPEC_IMPORT __attribute__((dllimport))
|
||||
-#else
|
||||
-#define DECLSPEC_EXPORT __declspec(dllexport)
|
||||
-#define DECLSPEC_IMPORT __declspec(dllimport)
|
||||
-#endif
|
||||
-#else
|
||||
-#if defined(__GNUC__) && __GNUC__ >= 4
|
||||
-#define DECLSPEC_EXPORT __attribute__((visibility("default")))
|
||||
-#define DECLSPEC_IMPORT
|
||||
-#else
|
||||
-#define DECLSPEC_EXPORT
|
||||
-#define DECLSPEC_IMPORT
|
||||
-#endif
|
||||
-#endif
|
||||
-
|
||||
#endif /* WINPR_SPEC_H */
|
||||
129
mingw-w64-freerdp/0004-remove-conflict-ntml-type.patch
Normal file
129
mingw-w64-freerdp/0004-remove-conflict-ntml-type.patch
Normal file
@@ -0,0 +1,129 @@
|
||||
--- a/winpr/libwinpr/sspi/NTLM/ntlm.h
|
||||
+++ b/winpr/libwinpr/sspi/NTLM/ntlm.h
|
||||
@@ -77,7 +77,8 @@
|
||||
};
|
||||
typedef enum _NTLM_STATE NTLM_STATE;
|
||||
|
||||
-enum _NTLM_AV_ID
|
||||
+#ifndef __MINGW32__
|
||||
+enum _MSV1_0_AVID
|
||||
{
|
||||
MsvAvEOL,
|
||||
MsvAvNbComputerName,
|
||||
@@ -87,11 +88,12 @@
|
||||
MsvAvDnsTreeName,
|
||||
MsvAvFlags,
|
||||
MsvAvTimestamp,
|
||||
- MsvAvSingleHost,
|
||||
+ MsvAvRestrictions,
|
||||
MsvAvTargetName,
|
||||
- MsvChannelBindings
|
||||
+ MsvAvChannelBindings
|
||||
};
|
||||
-typedef enum _NTLM_AV_ID NTLM_AV_ID;
|
||||
+typedef enum _MSV1_0_AVID MSV1_0_AVID;
|
||||
+#endif
|
||||
|
||||
struct _NTLM_AV_PAIR
|
||||
{
|
||||
--- a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c
|
||||
+++ b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c
|
||||
@@ -71,12 +71,12 @@
|
||||
return "MsvAvFlags";
|
||||
case MsvAvTimestamp:
|
||||
return "MsvAvTimestamp";
|
||||
- case MsvAvSingleHost:
|
||||
- return "MsvAvSingleHost";
|
||||
+ case MsvAvRestrictions:
|
||||
+ return "MsvAvRestrictions";
|
||||
case MsvAvTargetName:
|
||||
return "MsvAvTargetName";
|
||||
- case MsvChannelBindings:
|
||||
- return "MsvChannelBindings";
|
||||
+ case MsvAvChannelBindings:
|
||||
+ return "MsvAvChannelBindings";
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
@@ -216,7 +216,7 @@
|
||||
return (NTLM_AV_PAIR*)((PBYTE)pAvPair + offset);
|
||||
}
|
||||
|
||||
-NTLM_AV_PAIR* ntlm_av_pair_get(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, NTLM_AV_ID AvId,
|
||||
+NTLM_AV_PAIR* ntlm_av_pair_get(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, MSV1_0_AVID AvId,
|
||||
size_t* pcbAvPairListRemaining)
|
||||
{
|
||||
UINT16 id;
|
||||
@@ -247,7 +247,7 @@
|
||||
return pAvPair;
|
||||
}
|
||||
|
||||
-static BOOL ntlm_av_pair_add(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, NTLM_AV_ID AvId,
|
||||
+static BOOL ntlm_av_pair_add(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, MSV1_0_AVID AvId,
|
||||
PBYTE Value, UINT16 AvLen)
|
||||
{
|
||||
size_t cbAvPair;
|
||||
@@ -619,7 +619,7 @@
|
||||
|
||||
if (context->SendSingleHostData)
|
||||
{
|
||||
- AvPairsCount++; /* MsvAvSingleHost */
|
||||
+ AvPairsCount++; /* MsvAvRestrictions */
|
||||
ntlm_compute_single_host_data(context);
|
||||
AvPairsValueLength += context->SingleHostData.Size;
|
||||
}
|
||||
@@ -635,7 +635,7 @@
|
||||
* SEC_CHANNEL_BINDINGS structure
|
||||
* http://msdn.microsoft.com/en-us/library/windows/desktop/dd919963/
|
||||
*/
|
||||
- AvPairsCount++; /* MsvChannelBindings */
|
||||
+ AvPairsCount++; /* MsvAvChannelBindings */
|
||||
AvPairsValueLength += 16;
|
||||
ntlm_compute_channel_bindings(context);
|
||||
|
||||
@@ -714,14 +714,14 @@
|
||||
|
||||
if (context->SendSingleHostData)
|
||||
{
|
||||
- if (!ntlm_av_pair_add(AuthenticateTargetInfo, cbAuthenticateTargetInfo, MsvAvSingleHost,
|
||||
+ if (!ntlm_av_pair_add(AuthenticateTargetInfo, cbAuthenticateTargetInfo, MsvAvRestrictions,
|
||||
(PBYTE)&context->SingleHostData, context->SingleHostData.Size))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!context->SuppressExtendedProtection)
|
||||
{
|
||||
- if (!ntlm_av_pair_add(AuthenticateTargetInfo, cbAuthenticateTargetInfo, MsvChannelBindings,
|
||||
+ if (!ntlm_av_pair_add(AuthenticateTargetInfo, cbAuthenticateTargetInfo, MsvAvChannelBindings,
|
||||
context->ChannelBindingsHash, 16))
|
||||
goto fail;
|
||||
|
||||
--- a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.h
|
||||
+++ b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.h
|
||||
@@ -27,7 +27,7 @@
|
||||
ULONG ntlm_av_pair_list_length(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList);
|
||||
void ntlm_print_av_pair_list(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList);
|
||||
PBYTE ntlm_av_pair_get_value_pointer(NTLM_AV_PAIR* pAvPair);
|
||||
-NTLM_AV_PAIR* ntlm_av_pair_get(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, NTLM_AV_ID AvId,
|
||||
+NTLM_AV_PAIR* ntlm_av_pair_get(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList, MSV1_0_AVID AvId,
|
||||
size_t* pcbAvPairListRemaining);
|
||||
|
||||
int ntlm_construct_challenge_target_info(NTLM_CONTEXT* context);
|
||||
--- a/winpr/libwinpr/wtsapi/wtsapi.c
|
||||
+++ b/winpr/libwinpr/wtsapi/wtsapi.c
|
||||
@@ -52,9 +52,15 @@
|
||||
static HMODULE g_WtsApi32Module = NULL;
|
||||
static WtsApiFunctionTable WtsApi32_WtsApiFunctionTable = { 0 };
|
||||
|
||||
+#ifdef __MINGW32__
|
||||
+#define WTSAPI32_LOAD_PROC(_name, _type) \
|
||||
+ WtsApi32_WtsApiFunctionTable.p##_name = (_type)GetProcAddress(g_WtsApi32Module, "WT" \
|
||||
+ "S" #_name);
|
||||
+#else
|
||||
#define WTSAPI32_LOAD_PROC(_name, _type) \
|
||||
WtsApi32_WtsApiFunctionTable.p##_name = (##_type)GetProcAddress(g_WtsApi32Module, "WT" \
|
||||
"S" #_name);
|
||||
+#endif
|
||||
|
||||
static BOOL WtsApi32_InitializeWtsApi(void)
|
||||
{
|
||||
56
mingw-w64-freerdp/0005-rename-interface-variable.patch
Normal file
56
mingw-w64-freerdp/0005-rename-interface-variable.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
--- a/channels/urbdrc/client/data_transfer.c
|
||||
+++ b/channels/urbdrc/client/data_transfer.c
|
||||
@@ -1320,7 +1320,7 @@
|
||||
{
|
||||
size_t out_size;
|
||||
UINT32 InterfaceId, OutputBufferSize, usbd_status;
|
||||
- UINT16 interface;
|
||||
+ UINT16 iface;
|
||||
wStream* out;
|
||||
URBDRC_PLUGIN* urbdrc;
|
||||
const BOOL noAck = (RequestField & 0x80000000U) != 0;
|
||||
@@ -1345,7 +1345,7 @@
|
||||
}
|
||||
|
||||
InterfaceId = ((STREAM_ID_PROXY << 30) | pdev->get_ReqCompletion(pdev));
|
||||
- Stream_Read_UINT16(s, interface);
|
||||
+ Stream_Read_UINT16(s, iface);
|
||||
Stream_Seek(s, 2);
|
||||
Stream_Read_UINT32(s, OutputBufferSize);
|
||||
if (OutputBufferSize > UINT32_MAX - 36)
|
||||
@@ -1360,7 +1360,7 @@
|
||||
|
||||
if (!pdev->control_transfer(
|
||||
pdev, RequestId, 0, 0, 0x80 | 0x01, 0x0A, /* REQUEST_GET_INTERFACE */
|
||||
- 0, interface, &usbd_status, &OutputBufferSize, Stream_Pointer(out), 1000))
|
||||
+ 0, iface, &usbd_status, &OutputBufferSize, Stream_Pointer(out), 1000))
|
||||
{
|
||||
WLog_Print(urbdrc->log, WLOG_DEBUG, "control_transfer failed");
|
||||
Stream_Free(out, TRUE);
|
||||
--- a/channels/urbdrc/common/urbdrc_helpers.c
|
||||
+++ b/channels/urbdrc/common/urbdrc_helpers.c
|
||||
@@ -199,10 +199,10 @@
|
||||
return "QUERY_DEVICE_TEXT_RSP [stub |client]";
|
||||
}
|
||||
|
||||
-const char* call_to_string(BOOL client, UINT32 interface, UINT32 functionId)
|
||||
+const char* call_to_string(BOOL client, UINT32 iface, UINT32 functionId)
|
||||
{
|
||||
- const UINT32 mask = (interface & STREAM_ID_MASK) >> 30;
|
||||
- const UINT32 interfaceId = interface & INTERFACE_ID_MASK;
|
||||
+ const UINT32 mask = (iface & STREAM_ID_MASK) >> 30;
|
||||
+ const UINT32 interfaceId = iface & INTERFACE_ID_MASK;
|
||||
|
||||
switch (mask)
|
||||
{
|
||||
--- a/channels/urbdrc/common/urbdrc_helpers.h
|
||||
+++ b/channels/urbdrc/common/urbdrc_helpers.h
|
||||
@@ -34,7 +34,7 @@
|
||||
const char* urb_function_string(UINT16 urb);
|
||||
const char* mask_to_string(UINT32 mask);
|
||||
const char* interface_to_string(UINT32 id);
|
||||
- const char* call_to_string(BOOL client, UINT32 interface, UINT32 functionId);
|
||||
+ const char* call_to_string(BOOL client, UINT32 iface, UINT32 functionId);
|
||||
|
||||
void urbdrc_dump_message(wLog* log, BOOL client, BOOL write, wStream* s);
|
||||
|
||||
11
mingw-w64-freerdp/0006-fix-manpage_formatting.patch
Normal file
11
mingw-w64-freerdp/0006-fix-manpage_formatting.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/cmake/FindDocBookXSL.cmake
|
||||
+++ b/cmake/FindDocBookXSL.cmake
|
||||
@@ -30,7 +30,7 @@
|
||||
set (STYLESHEET_PATH_LIST)
|
||||
foreach (STYLESHEET_PREFIX_ITER ${CMAKE_SYSTEM_PREFIX_PATH})
|
||||
file(GLOB STYLESHEET_SUFFIX_ITER RELATIVE ${STYLESHEET_PREFIX_ITER}
|
||||
- ${STYLESHEET_PREFIX_ITER}/share/xml/docbook/xsl-stylesheets-*
|
||||
+ ${STYLESHEET_PREFIX_ITER}/share/xml/docbook/xsl-stylesheets-*-nons
|
||||
)
|
||||
if (STYLESHEET_SUFFIX_ITER)
|
||||
list (APPEND STYLESHEET_PATH_LIST ${STYLESHEET_SUFFIX_ITER})
|
||||
@@ -0,0 +1,21 @@
|
||||
--- a/channels/rdpdr/server/rdpdr_main.c
|
||||
+++ b/channels/rdpdr/server/rdpdr_main.c
|
||||
@@ -1331,12 +1331,12 @@
|
||||
|
||||
Stream_Read_UINT32(s, fdi->NextEntryOffset); /* NextEntryOffset (4 bytes) */
|
||||
Stream_Read_UINT32(s, fdi->FileIndex); /* FileIndex (4 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->CreationTime); /* CreationTime (8 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->LastAccessTime); /* LastAccessTime (8 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->LastWriteTime); /* LastWriteTime (8 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->ChangeTime); /* ChangeTime (8 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->EndOfFile); /* EndOfFile (8 bytes) */
|
||||
- Stream_Read_UINT64(s, fdi->AllocationSize); /* AllocationSize (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->CreationTime.QuadPart); /* CreationTime (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->LastAccessTime.QuadPart); /* LastAccessTime (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->LastWriteTime.QuadPart); /* LastWriteTime (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->ChangeTime.QuadPart); /* ChangeTime (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->EndOfFile.QuadPart); /* EndOfFile (8 bytes) */
|
||||
+ Stream_Read_UINT64(s, fdi->AllocationSize.QuadPart); /* AllocationSize (8 bytes) */
|
||||
Stream_Read_UINT32(s, fdi->FileAttributes); /* FileAttributes (4 bytes) */
|
||||
Stream_Read_UINT32(s, fileNameLength); /* FileNameLength (4 bytes) */
|
||||
|
||||
101
mingw-w64-freerdp/PKGBUILD
Normal file
101
mingw-w64-freerdp/PKGBUILD
Normal file
@@ -0,0 +1,101 @@
|
||||
# Maintainer: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
|
||||
_realname=freerdp
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
pkgver=2.3.2
|
||||
pkgrel=1
|
||||
pkgdesc="Free implementation of the Remote Desktop Protocol (RDP) (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
|
||||
url="https://www.freerdp.com/"
|
||||
license=('Apache')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-ffmpeg"
|
||||
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
|
||||
"${MINGW_PACKAGE_PREFIX}-libusb"
|
||||
"${MINGW_PACKAGE_PREFIX}-openssl")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
"${MINGW_PACKAGE_PREFIX}-iconv")
|
||||
options=('strip' '!debug' 'staticlibs')
|
||||
source=("${_realname}-${pkgver}.tar.gz::https://github.com/${_realname}/${_realname}/archive/${pkgver}.tar.gz"
|
||||
"0001-fix-warnings-mingw.patch"
|
||||
"0002-fix-build-errors-mingw.patch"
|
||||
"0003-remove-declspec-import-export.patch"
|
||||
"0004-remove-conflict-ntml-type.patch"
|
||||
"0005-rename-interface-variable.patch"
|
||||
"0006-fix-manpage_formatting.patch"
|
||||
"0007-read-QuadPart-from-LARGE_INTEGER.patch")
|
||||
sha256sums=('a1f52f0d9569b418a555ffe4d15a3782712198be47308e9514d20ca5af41a1b1'
|
||||
'9e71e16b23cb7e1285bc395370b78cc9ca72f897bb8650820d5b4d5e5fcb5176'
|
||||
'06d869d249484b57f8da868c8cd5498d96bc4f3bcf669139e2bc7da8bf48a9e6'
|
||||
'7b5b85a83af0d2243d334cc4b4cd80e95077ca00c161792cf27cee62c42eae0f'
|
||||
'923fd3cd86d6d5815b72f15b7fe7c226349b38ff09b7475b1143cb5d7c015738'
|
||||
'5b3fe9a7d4d5db2096b0786c88da30ff8c2819b1703aa995badd8f90550d56e1'
|
||||
'f091fcdf13a4693835ca1aa0a3d5ef2f15b97c77f91af5a937e3acfbded14678'
|
||||
'9c728341d0e7cd3896cee34b4dce78c18d5235a2cc336e2eae63e5fda354ac08')
|
||||
|
||||
prepare() {
|
||||
mv -v "FreeRDP-${pkgver}" "${_realname}-${pkgver}"
|
||||
cd "${_realname}-${pkgver}"
|
||||
|
||||
# https://github.com/FreeRDP/FreeRDP/pull/6983
|
||||
patch -Np1 -i "${srcdir}/0001-fix-warnings-mingw.patch"
|
||||
|
||||
# https://github.com/FreeRDP/FreeRDP/pull/7034
|
||||
patch -Np1 -i "${srcdir}/0002-fix-build-errors-mingw.patch"
|
||||
|
||||
# Change to UTF-8 because patch can not. upstream #7034
|
||||
iconv -f UCS-2LE -t UTF-8 client/Windows/wfreerdp.rc > client/Windows/wfreerdp.rc.mod
|
||||
sed -i '1s/^\xEF\xBB\xBF//' client/Windows/wfreerdp.rc.mod
|
||||
mv client/Windows/wfreerdp.rc.mod client/Windows/wfreerdp.rc
|
||||
|
||||
# Duplicate macros
|
||||
patch -Np1 -i "${srcdir}/0003-remove-declspec-import-export.patch"
|
||||
|
||||
# NTLM_AV_ID conflicts with MSV1_0_AVID
|
||||
patch -Np1 -i "${srcdir}/0004-remove-conflict-ntml-type.patch"
|
||||
|
||||
# The variable name 'interface' assumed as keyword though it's C.
|
||||
patch -Np1 -i "${srcdir}/0005-rename-interface-variable.patch"
|
||||
|
||||
# fix man page formatting:
|
||||
# https://bugs.archlinux.org/task/64814
|
||||
patch -Np1 -i "${srcdir}/0006-fix-manpage_formatting.patch"
|
||||
|
||||
patch -Np1 -i "${srcdir}/0007-read-QuadPart-from-LARGE_INTEGER.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
|
||||
mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
|
||||
CFLAGS+=" -Wno-format" \
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake.exe \
|
||||
-Wno-dev \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
-DCMAKE_INSTALL_LIBDIR='lib' \
|
||||
-DCMAKE_BUILD_TYPE='None' \
|
||||
-DPROXY_PLUGINDIR='${MINGW_PREFIX}/lib/freerdp2/server/proxy/plugins' \
|
||||
-DWITH_CAIRO=ON \
|
||||
-DWITH_ZLIB=ON \
|
||||
-DWITH_DSP_FFMPEG=ON \
|
||||
-DWITH_FFMPEG=ON \
|
||||
-DWITH_JPEG=ON \
|
||||
-DWITH_SERVER=ON \
|
||||
-DWITH_SWSCALE=ON \
|
||||
-DWITH_CHANNELS=ON \
|
||||
-DWITH_CLIENT_CHANNELS=ON \
|
||||
-DWITH_SERVER_CHANNELS=ON \
|
||||
-DCHANNEL_URBDRC_CLIENT=ON \
|
||||
"../${_realname}-${pkgver}"
|
||||
|
||||
${MINGW_PREFIX}/bin/cmake.exe --build ./
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
|
||||
}
|
||||
Reference in New Issue
Block a user