diff options
| author | Phil Christensen <philc@microsoft.com> | 2018-12-05 10:00:07 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-05 10:00:07 -0800 |
| commit | b4f900f6c6b681cd7a2253540b5b8a88b958855c (patch) | |
| tree | 51e282217ff485817d8910150e8cfede2dd978a4 | |
| parent | 5f63d0a5f77b4179df6dc10110637775a1d0fe69 (diff) | |
| parent | 6c1dd867ba2ef0f82a8a8396654f4d0035e53f49 (diff) | |
| download | vcpkg-b4f900f6c6b681cd7a2253540b5b8a88b958855c.tar.gz vcpkg-b4f900f6c6b681cd7a2253540b5b8a88b958855c.zip | |
Merge pull request #4850 from past-due/physfs_win10_patch
[physfs] Fix Win10 GetUserProfileDirectory() problem
| -rw-r--r-- | ports/physfs/CONTROL | 2 | ||||
| -rw-r--r-- | ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch | 25 | ||||
| -rw-r--r-- | ports/physfs/portfile.cmake | 8 |
3 files changed, 33 insertions, 2 deletions
diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL index a937d38bf..5d5d69755 100644 --- a/ports/physfs/CONTROL +++ b/ports/physfs/CONTROL @@ -1,4 +1,4 @@ Source: physfs -Version: 3.0.1 +Version: 3.0.1-1 Description: a library to provide abstract access to various archives Build-Depends: zlib diff --git a/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch b/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch new file mode 100644 index 000000000..4338e52e5 --- /dev/null +++ b/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch @@ -0,0 +1,25 @@ + +diff -r a29fef4a20fd -r ece6769c0676 src/physfs_platform_windows.c +--- a/src/physfs_platform_windows.c Wed May 16 19:54:51 2018 -0400 ++++ b/src/physfs_platform_windows.c Wed Oct 03 22:40:57 2018 -0400 +@@ -566,7 +566,6 @@ + else + { + DWORD psize = 0; +- WCHAR dummy = 0; + LPWSTR wstr = NULL; + BOOL rc = 0; + +@@ -575,7 +574,7 @@ + * psize. Also note that the second parameter can't be + * NULL or the function fails. + */ +- rc = pGetDir(accessToken, &dummy, &psize); ++ rc = pGetDir(accessToken, NULL, &psize); + GOTO_IF(rc, PHYSFS_ERR_OS_ERROR, done); /* should have failed! */ + + /* Allocate memory for the profile directory */ + + + + diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake index 08b49e69f..feee3b456 100644 --- a/ports/physfs/portfile.cmake +++ b/ports/physfs/portfile.cmake @@ -6,7 +6,13 @@ vcpkg_download_distfile(ARCHIVE FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2" SHA512 ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PHYSFS_VERSION} + PATCHES + physfs.3.0.1.GetUserProfileDirectory.patch # Fixes GetUserProfileDirectory issue on Win10 build 1809(+?); See: https://hg.icculus.org/icculus/physfs/rev/ece6769c0676 +) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) |
