Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions ports/proj4/disable-projdb-with-arm-uwp.patch

This file was deleted.

71 changes: 71 additions & 0 deletions ports/proj4/fix-filemanager-uwp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
diff --git a/src/filemanager.cpp b/src/filemanager.cpp
index e6a9ed9..d85290b 100644
--- a/src/filemanager.cpp
+++ b/src/filemanager.cpp
@@ -48,6 +48,12 @@

#include "proj_config.h"

+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
+#define UWP 1
+#else
+#define UWP 0
+#endif
+
#ifdef _WIN32
#include <shlobj.h>
#include <windows.h>
@@ -692,10 +698,21 @@ std::unique_ptr<File> FileWin32::open(PJ_CONTEXT *ctx, const char *filename,
? FILE_ATTRIBUTE_READONLY
: FILE_ATTRIBUTE_NORMAL;
try {
+#if UWP
+ CREATEFILE2_EXTENDED_PARAMETERS extendedParameters;
+ ZeroMemory(&extendedParameters, sizeof(extendedParameters));
+ extendedParameters.dwSize = sizeof(extendedParameters);
+ extendedParameters.dwFileAttributes = dwFlagsAndAttributes;
+ HANDLE hFile = CreateFile2(
+ UTF8ToWString(std::string(filename)).c_str(), dwDesiredAccess,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ dwCreationDisposition, &extendedParameters);
+#else // UWP
HANDLE hFile = CreateFileW(
UTF8ToWString(std::string(filename)).c_str(), dwDesiredAccess,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr,
dwCreationDisposition, dwFlagsAndAttributes, nullptr);
+#endif // UWP
return std::unique_ptr<File>(hFile != INVALID_HANDLE_VALUE
? new FileWin32(filename, ctx, hFile)
: nullptr);
@@ -1211,6 +1228,9 @@ const char *proj_context_get_user_writable_directory(PJ_CONTEXT *ctx,
wPath.resize(wcslen(wPath.data()));
path = NS_PROJ::WStringToUTF8(wPath);
#else
+#if UWP
+ if (false) {
+#else // UWP
wchar_t *wPath;
if (SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, &wPath) ==
S_OK) {
@@ -1218,6 +1238,7 @@ const char *proj_context_get_user_writable_directory(PJ_CONTEXT *ctx,
std::string str = NS_PROJ::WStringToUTF8(ws);
path = str;
CoTaskMemFree(wPath);
+#endif // UWP
#endif
} else {
const char *local_app_data = getenv("LOCALAPPDATA");
@@ -1311,11 +1332,13 @@ static std::string pj_get_relative_share_proj_internal_no_check() {
#if defined(_WIN32) || defined(HAVE_LIBDL)
#ifdef _WIN32
HMODULE hm = NULL;
+#if !UWP
if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
(LPCSTR)&pj_get_relative_share_proj, &hm) == 0) {
return std::string();
}
+#endif // UWP

DWORD path_size = 1024;

2 changes: 1 addition & 1 deletion ports/proj4/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ vcpkg_from_github(
SHA512 e6e77266dcd70c939c16667c916cccab8de161221d2ef600cfca43382f50da2dc8d790561556b4416adbb4ac6fba939004e0cc936c278e0e808dc3566e9a70d4
HEAD_REF master
PATCHES
fix-filemanager-uwp.patch
fix-sqlite3-bin.patch
disable-projdb-with-arm-uwp.patch
fix-win-output-name.patch
fix-proj4-targets-cmake.patch
tools-cmake.patch
Expand Down
2 changes: 1 addition & 1 deletion ports/proj4/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "proj4",
"version-semver": "7.2.1",
"port-version": 4,
"port-version": 5,
"description": "PROJ.4 library for cartographic projections",
"homepage": "https://github.com/OSGeo/PROJ",
"dependencies": [
Expand Down
4 changes: 2 additions & 2 deletions scripts/ci.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,8 @@ libcopp:arm64-windows=fail
libcopp:arm-uwp=fail
libcrafter:x86-windows=fail
libcrafter:x64-windows=fail
libgeotiff:arm-uwp=fail
libgeotiff:x64-uwp=fail
# Missing system libraries on linux to run/prepare autoconf
libgpod:x64-linux=fail
libgpod:x64-osx=fail
Expand Down Expand Up @@ -1235,8 +1237,6 @@ popsift:x64-windows-static-md=fail
portable-snippets:arm-uwp=fail
pqp:arm-uwp=fail
pqp:x64-uwp=fail
proj4:arm-uwp=fail
proj4:x64-uwp=fail
protobuf-c:x86-windows=fail
protobuf-c:x64-windows=fail
protobuf-c:x64-windows-static=fail
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -5126,7 +5126,7 @@
},
"proj4": {
"baseline": "7.2.1",
"port-version": 4
"port-version": 5
},
"prometheus-cpp": {
"baseline": "0.12.3",
Expand Down
5 changes: 5 additions & 0 deletions versions/p-/proj4.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "aa22133ae2355b540a2676402896abc323f26aa9",
"version-semver": "7.2.1",
"port-version": 5
},
{
"git-tree": "dee626b6811eafe58cf40fbceeb3cc28dfaf678c",
"version-semver": "7.2.1",
Expand Down