Files
MINGW-packages/mingw-w64-python-psutil/0001-mingw-fixes-without-loadlib.patch
dragon-archer d72bf45862 python-psutil: update to 7.2.1
* fix all 3 patches
	* align patch offsets to new source code
	* handle several file renames
	* add mincore to linked libs for QueryInterruptTime
	* fix conflicting function prototypes
* make check() runnable
2026-01-14 12:24:53 +07:00

119 lines
3.0 KiB
Diff

--- a/psutil/arch/windows/init.c
+++ b/psutil/arch/windows/init.c
@@ -183,6 +183,8 @@
// ====================================================================
+#ifndef __MINGW32__
+
static int
psutil_loadlibs() {
// --- Mandatory
@@ -278,6 +280,7 @@
return 0;
}
+#endif /* !__MINGW32__ */
static int
psutil_set_winver() {
@@ -309,8 +312,10 @@
// Called on module import.
int
psutil_setup_windows(void) {
+#ifndef __MINGW32__
if (psutil_loadlibs() != 0)
return -1;
+#endif
if (psutil_set_winver() != 0)
return -1;
GetSystemInfo(&PSUTIL_SYSTEM_INFO);
--- a/psutil/arch/windows/ntextapi.h
+++ b/psutil/arch/windows/ntextapi.h
@@ -57,6 +57,8 @@
MaximumThreadState
} KTHREAD_STATE, *PKTHREAD_STATE;
+#ifndef __MINGW32__
+
typedef enum _KWAIT_REASON {
Executive,
FreePage,
@@ -147,6 +149,8 @@
WTSInit, // WinStation in initialization
} WTS_CONNECTSTATE_CLASS;
+#endif /* !_MINGW32__ */
+
// ================================================================
// Structs.
// ================================================================
@@ -363,6 +367,9 @@
} RTL_USER_PROCESS_PARAMETERS_, *PRTL_USER_PROCESS_PARAMETERS_;
// users()
+
+#ifndef __MINGW32__
+
typedef struct _WTS_SESSION_INFOW {
DWORD SessionId; // session id
LPWSTR pWinStationName; // name of WinStation this session is
@@ -400,6 +407,8 @@
#define PWTSINFO PWTSINFOW
+#endif /* !__MINGW32__ */
+
// cpu_count_cores()
#if (_WIN32_WINNT < 0x0601) // Windows < 7 (Vista and XP)
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
@@ -551,6 +560,8 @@
// Type defs for modules loaded at runtime.
// ================================================================
+#ifndef __MINGW32__
+
BOOL (WINAPI *_GetLogicalProcessorInformationEx) (
LOGICAL_PROCESSOR_RELATIONSHIP relationship,
PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer,
@@ -711,5 +722,16 @@
#define RtlNtStatusToDosErrorNoTeb _RtlNtStatusToDosErrorNoTeb
+
+#else /* __MINGW32__ */
+
+ULONG WINAPI RtlNtStatusToDosErrorNoTeb(NTSTATUS status);
+NTSTATUS WINAPI RtlGetVersion(PRTL_OSVERSIONINFOW lpVersionInformation);
+NTSTATUS WINAPI NtQueryVirtualMemory(HANDLE ProcessHandle, PVOID BaseAddress, int MemoryInformationClass, PVOID MemoryInformation, SIZE_T MemoryInformationLength, PSIZE_T ReturnLength);
+NTSTATUS WINAPI NtResumeProcess(HANDLE hProcess);
+NTSTATUS WINAPI NtSuspendProcess(HANDLE hProcess);
+
+#endif /* !__MINGW32__ */
+
#endif // __NTEXTAPI_H__
// clang-format on
--- a/psutil/arch/windows/sys.c
+++ b/psutil/arch/windows/sys.c
@@ -17,6 +17,7 @@
#include <Python.h>
#include <windows.h>
+#include <wtsapi32.h>
#include "ntextapi.h"
#include "../../arch/all/init.h"
--- a/setup.py
+++ b/setup.py
@@ -319,6 +319,10 @@
"psapi",
"shell32",
"ws2_32",
+ "iphlpapi",
+ "ntdll",
+ "wtsapi32",
+ "mincore",
],
# extra_compile_args=["/W 4"],
# extra_link_args=["/DEBUG"],