diff --git a/ports/openxr-loader/fix-jinja2.patch b/ports/openxr-loader/fix-jinja2.patch deleted file mode 100644 index 5d77cb4e46..0000000000 --- a/ports/openxr-loader/fix-jinja2.patch +++ /dev/null @@ -1,23 +0,0 @@ -From d80c7dc3f4810fc49e4444590d39ef71e8a9b01c Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Sat, 19 Feb 2022 19:42:31 -0500 -Subject: [PATCH] Fix bad import in jinja2 - ---- - external/python/jinja2/utils.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/external/python/jinja2/utils.py b/external/python/jinja2/utils.py -index db9c5d06..f198e3ef 100644 ---- a/external/python/jinja2/utils.py -+++ b/external/python/jinja2/utils.py -@@ -639,4 +639,8 @@ def __repr__(self): - - - # Imported here because that's where it was in the past --from markupsafe import Markup, escape, soft_unicode -+from markupsafe import Markup, escape -+try: -+ from markupsafe import soft_unicode -+except ImportError: -+ from markupsafe import soft_str as soft_unicode diff --git a/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch b/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch index bf915949a1..2259b692dc 100644 --- a/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch +++ b/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch @@ -7,24 +7,7 @@ index c75b145..386494c 100644 find_package(Threads REQUIRED) -find_package(JsonCpp) -+find_package(jsoncpp CONFIG REQUIRED) ++find_package(JSONCPP NAMES jsoncpp REQUIRED) ### All options defined here option(BUILD_LOADER "Build loader" ON) -diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt -index 6a88cf4..0821a3d 100644 ---- a/src/loader/CMakeLists.txt -+++ b/src/loader/CMakeLists.txt -@@ -68,7 +68,11 @@ add_library(openxr_loader ${LIBRARY_TYPE} - ${openxr_loader_RESOURCE_FILE} - ) - if(BUILD_WITH_SYSTEM_JSONCPP) -- target_link_libraries(openxr_loader PRIVATE JsonCpp::JsonCpp) -+ if(BUILD_SHARED_LIBS) -+ target_link_libraries(openxr_loader PRIVATE jsoncpp_lib) -+ else() -+ target_link_libraries(openxr_loader PRIVATE jsoncpp_static) -+ endif() - else() - target_sources(openxr_loader - PRIVATE diff --git a/ports/openxr-loader/msvc-crt.diff b/ports/openxr-loader/msvc-crt.diff new file mode 100644 index 0000000000..4e7798315f --- /dev/null +++ b/ports/openxr-loader/msvc-crt.diff @@ -0,0 +1,14 @@ +diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt +index 326f74e..3192e69 100644 +--- a/src/loader/CMakeLists.txt ++++ b/src/loader/CMakeLists.txt +@@ -212,7 +212,8 @@ elseif(WIN32) + ) + endif() + +- if(DYNAMIC_LOADER AND NOT (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) ++ if(1) # CRT linkage from vcpkg ++ elseif(0) + # If building DLLs, force static CRT linkage + set_target_properties( + openxr_loader diff --git a/ports/openxr-loader/portfile.cmake b/ports/openxr-loader/portfile.cmake index 4d1127e56e..f882cffc30 100644 --- a/ports/openxr-loader/portfile.cmake +++ b/ports/openxr-loader/portfile.cmake @@ -1,23 +1,25 @@ - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenXR-SDK REF "release-${VERSION}" - SHA512 6efc7596e707f95366dbcdbac9bd7d0c20735a2175b4edf56a9e8a112cf0ab8b664069fe942313164a37119032ddbf5671bc88ab5f276005dd36e4a4dabba1c7 + SHA512 cfcabbd130f89d1d46899f3a9a34e9b5d9b21903b6d0fc48c62e233401cf200107a9fa8da926fc0036937a9ed647a2376bee58db925654c41acc7580f8f3a053 HEAD_REF master PATCHES fix-openxr-sdk-jsoncpp.patch + msvc-crt.diff ) +file(GLOB gl_headers "${SOURCE_PATH}/external/include/GL/*") +list(REMOVE_ITEM gl_headers "${SOURCE_PATH}/external/include/gl_format.h") +file(REMOVE ${gl_headers}) vcpkg_from_github( OUT_SOURCE_PATH SDK_SOURCE_PATH REPO KhronosGroup/OpenXR-SDK-Source REF "release-${VERSION}" - SHA512 04bdb0f16078209b5edd175a3396f70e1ceb8cfa382c65b8fda388e565480e3844daf68e0d987e72ed8c21d3148af0b41a2170911ec1660565887e0e5ae6d2bf + SHA512 c2cfab927e6ff8a5a7b90360c99192ae9cd598614965fbd4816361b19c5bf25e5524f0e73ce56774e32903addbce8a8dbcb9520203f845421d33cb33f832977b HEAD_REF master PATCHES fix-openxr-sdk-jsoncpp.patch - fix-jinja2.patch ) vcpkg_from_github( @@ -30,17 +32,7 @@ vcpkg_from_github( python3_8_compatibility.patch ) -# Weird behavior inside the OpenXR loader. On Windows they force shared libraries to use static crt, and -# vice-versa. Might be better in future iterations to patch the CMakeLists.txt for OpenXR -if (VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(DYNAMIC_LOADER OFF) - set(VCPKG_CRT_LINKAGE dynamic) - else() - set(DYNAMIC_LOADER ON) - set(VCPKG_CRT_LINKAGE static) - endif() -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DYNAMIC_LOADER) vcpkg_find_acquire_program(PYTHON3) @@ -48,32 +40,32 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_API_LAYERS=OFF - -DBUILD_TESTS=OFF -DBUILD_CONFORMANCE_TESTS=OFF + -DBUILD_TESTS=OFF + -DCMAKE_INSTALL_INCLUDEDIR=include -DDYNAMIC_LOADER=${DYNAMIC_LOADER} - -DPYTHON_EXECUTABLE="${PYTHON3}" - -DBUILD_WITH_SYSTEM_JSONCPP=ON + "-DPYTHON_EXECUTABLE=${PYTHON3}" ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(PACKAGE_NAME openxr CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME openxr CONFIG_PATH lib/cmake/openxr) +endif() # Generate the OpenXR C++ bindings set(ENV{OPENXR_REPO} "${SDK_SOURCE_PATH}") vcpkg_execute_required_process( - COMMAND ${PYTHON3} "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr" + COMMAND "${PYTHON3}" "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr" WORKING_DIRECTORY "${HPP_SOURCE_PATH}" LOGNAME "openxr-hpp" ) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH cmake) -else() - vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH lib/cmake/openxr) -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openxr-loader/vcpkg.json b/ports/openxr-loader/vcpkg.json index a45e3c9199..d78bc66746 100644 --- a/ports/openxr-loader/vcpkg.json +++ b/ports/openxr-loader/vcpkg.json @@ -1,12 +1,20 @@ { "name": "openxr-loader", - "version": "1.0.31", + "version": "1.0.34", "description": "A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices", "homepage": "https://github.com/KhronosGroup/OpenXR-SDK", "license": "Apache-2.0", "supports": "!uwp & !osx", "dependencies": [ + { + "name": "egl", + "platform": "android" + }, "jsoncpp", + { + "name": "opengl", + "platform": "!android & !ios & !osx & !(arm & windows) & !uwp" + }, { "name": "vcpkg-cmake", "host": true @@ -19,6 +27,7 @@ "features": { "vulkan": { "description": "Vulkan functionality for OpenXR", + "supports": "!(arm & windows) & !uwp", "dependencies": [ "vulkan" ] diff --git a/versions/baseline.json b/versions/baseline.json index 6efc7c7ae2..551a12c5ab 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6789,7 +6789,7 @@ "port-version": 0 }, "openxr-loader": { - "baseline": "1.0.31", + "baseline": "1.0.34", "port-version": 0 }, "optimus-cpp": { diff --git a/versions/o-/openxr-loader.json b/versions/o-/openxr-loader.json index 81c538268f..bb92403aa9 100644 --- a/versions/o-/openxr-loader.json +++ b/versions/o-/openxr-loader.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7ac79e9eb86bad29f5fc6d3f6f25389df13e5b9f", + "version": "1.0.34", + "port-version": 0 + }, { "git-tree": "a8275bf000597b3d7cd12109347f21552bcd39cc", "version": "1.0.31",