git: c3d51eebc94b - main - graphics/openxr: new port - required for games/lwjgl3

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 27 Feb 2024 21:26:16 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c3d51eebc94b491afe0e26b2bfbdd39b09c1090d

commit c3d51eebc94b491afe0e26b2bfbdd39b09c1090d
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-02-27 21:19:52 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-02-27 21:25:48 +0000

    graphics/openxr: new port - required for games/lwjgl3
    
    OpenXR provides access to Augmented and Virtual Reality (XR-platforms).
    
    This port required for build lwjgl 3, and lwjgl 3 required for Java
    Minecraft Client 1.20.x run on FreeBSD without linux compatibility layer.
    
    PR:                     275279 269879 269900
    Approved by:            arrowd (mentor)
    Differential Revision:  https://reviews.freebsd.org/D44119
---
 graphics/Makefile                              |  1 +
 graphics/openxr/Makefile                       | 20 ++++++++++++++++++++
 graphics/openxr/distinfo                       |  3 +++
 graphics/openxr/files/patch-src_CMakeLists.txt | 11 +++++++++++
 graphics/openxr/pkg-descr                      |  3 +++
 graphics/openxr/pkg-plist                      | 13 +++++++++++++
 6 files changed, 51 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 2886d06c1cf4..daf3c42c90b6 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -635,6 +635,7 @@
     SUBDIR += openslide
     SUBDIR += opensubdiv
     SUBDIR += openvkl
+    SUBDIR += openxr
     SUBDIR += optar
     SUBDIR += optipng
     SUBDIR += osg
diff --git a/graphics/openxr/Makefile b/graphics/openxr/Makefile
new file mode 100644
index 000000000000..cfabf671b687
--- /dev/null
+++ b/graphics/openxr/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	openxr
+DISTVERSION=	1.0.34
+CATEGORIES=	graphics
+
+MAINTAINER=	vvd@FreeBSD.org
+COMMENT=	OpenXR provides access to Augmented and Virtual Reality (XR-platforms)
+WWW=		https://github.com/KhronosGroup/OpenXR-SDK
+
+LICENSE=	APACHE20
+
+LIB_DEPENDS=	libjsoncpp.so:devel/jsoncpp
+
+USES=		cmake compiler:c++11-lib python:build
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	OpenXR-SDK
+GH_TAGNAME=	release-${DISTVERSION}
+
+.include <bsd.port.mk>
diff --git a/graphics/openxr/distinfo b/graphics/openxr/distinfo
new file mode 100644
index 000000000000..eb1cffcb4474
--- /dev/null
+++ b/graphics/openxr/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709034417
+SHA256 (KhronosGroup-OpenXR-SDK-1.0.34-release-1.0.34_GH0.tar.gz) = 5fa2fac1b442a31e267ea522799a247e3aff6e6f5a418b1e31c337b8ca835b69
+SIZE (KhronosGroup-OpenXR-SDK-1.0.34-release-1.0.34_GH0.tar.gz) = 602123
diff --git a/graphics/openxr/files/patch-src_CMakeLists.txt b/graphics/openxr/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..9944e028c14e
--- /dev/null
+++ b/graphics/openxr/files/patch-src_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- src/CMakeLists.txt.orig	2024-02-17 20:48:29 UTC
++++ src/CMakeLists.txt
+@@ -165,7 +165,7 @@ cmake_dependent_option(
+ if(WIN32)
+     add_definitions(-DXR_OS_WINDOWS)
+     add_definitions(-DNOMINMAX)
+-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+     add_definitions(-DXR_OS_LINUX)
+ elseif(ANDROID)
+     add_definitions(-DXR_OS_ANDROID)
diff --git a/graphics/openxr/pkg-descr b/graphics/openxr/pkg-descr
new file mode 100644
index 000000000000..754667154a07
--- /dev/null
+++ b/graphics/openxr/pkg-descr
@@ -0,0 +1,3 @@
+OpenXR is 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.
diff --git a/graphics/openxr/pkg-plist b/graphics/openxr/pkg-plist
new file mode 100644
index 000000000000..a916ab72833d
--- /dev/null
+++ b/graphics/openxr/pkg-plist
@@ -0,0 +1,13 @@
+include/openxr/openxr.h
+include/openxr/openxr_loader_negotiation.h
+include/openxr/openxr_platform.h
+include/openxr/openxr_platform_defines.h
+include/openxr/openxr_reflection.h
+include/openxr/openxr_reflection_parent_structs.h
+include/openxr/openxr_reflection_structs.h
+lib/cmake/openxr/OpenXRConfig.cmake
+lib/cmake/openxr/OpenXRConfigVersion.cmake
+lib/cmake/openxr/OpenXRTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/openxr/OpenXRTargets.cmake
+lib/libopenxr_loader.so
+libdata/pkgconfig/openxr.pc