git: 07238aa57022 - main - graphics/osgearth: Fix build with protobuf 22+

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Thu, 14 Dec 2023 17:03:32 UTC
The branch main has been updated by sunpoet:

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

commit 07238aa570226ad0b43a502805f1cc9d39f93f50
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-12-14 16:22:32 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-12-14 17:03:05 +0000

    graphics/osgearth: Fix build with protobuf 22+
    
    Note that this port has a PLIST issue if libzip is installed.
    
    ====> Checking for pkg-plist issues (check-plist)
    ===> Parsing plist
    ===> Checking for items in STAGEDIR missing from pkg-plist
    Error: Orphaned: lib/osgPlugins-3.6.5/osgdb_zip.so
    ===> Checking for items in pkg-plist which are not in STAGEDIR
    ===> Error: Plist issues found.
    *** Error code 1
---
 graphics/osgearth/Makefile             |  4 ++--
 graphics/osgearth/files/patch-protobuf | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/graphics/osgearth/Makefile b/graphics/osgearth/Makefile
index 97da332dcd2b..9851c226593a 100644
--- a/graphics/osgearth/Makefile
+++ b/graphics/osgearth/Makefile
@@ -17,8 +17,8 @@ LIB_DEPENDS=	libcurl.so:ftp/curl \
 		libprotobuf.so:devel/protobuf \
 		libwebp.so:graphics/webp
 
-USES=		cmake compiler:c++14-lang gl pkgconfig sqlite
-USE_CXXSTD=	c++14
+USES=		cmake compiler:c++17-lang gl pkgconfig sqlite
+USE_CXXSTD=	c++17
 USE_GITHUB=	yes
 GH_ACCOUNT=	gwaldron ocornut:imgui Esri:lerc Tencent:rapidjson
 GH_PROJECT=	imgui:imgui lerc:lerc rapidjson:rapidjson
diff --git a/graphics/osgearth/files/patch-protobuf b/graphics/osgearth/files/patch-protobuf
new file mode 100644
index 000000000000..981fffb56167
--- /dev/null
+++ b/graphics/osgearth/files/patch-protobuf
@@ -0,0 +1,22 @@
+--- CMakeLists.txt.orig	2023-11-03 04:00:05.529976000 +0800
++++ CMakeLists.txt	2023-11-03 04:02:22.522059000 +0800
+@@ -23,7 +23,7 @@
+ set(OSGEARTH_SOVERSION 149)
+ 
+ # Require C++11
+-set_property(GLOBAL PROPERTY CXX_STANDARD 11)
++set_property(GLOBAL PROPERTY CXX_STANDARD 17)
+ set_property(GLOBAL PROPERTY CXX_STANDARD_REQUIRED ON)
+ 
+ # Detect out-of-source build. You should always do an out-of-source build!
+--- src/osgEarthDrivers/fastdxt/intrinsic.cpp.orig	2023-05-16 14:53:59 UTC
++++ src/osgEarthDrivers/fastdxt/intrinsic.cpp
+@@ -45,7 +45,7 @@
+ void ExtractBlock_Intrinsics( const byte *inPtr, int width, byte *colorBlock ) 
+ {
+         __m128i t0, t1, t2, t3;
+-	register int w = width << 2;  // width*4
++	int w = width << 2;  // width*4
+ 
+         t0 = _mm_load_si128 ( (__m128i*) inPtr );
+         _mm_store_si128 ( (__m128i*) &colorBlock[0], t0 );   // copy first row, 16bytes