git: 347f41b14036 - main - multimedia/obs-streamfx: Update 0.11.1 -> 0.12.0b164

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 29 Dec 2022 22:15:47 UTC
The branch main has been updated by yuri:

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

commit 347f41b14036e8db2e7f2a9ec669cff4d1dac633
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-12-29 20:24:00 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-12-29 22:15:35 +0000

    multimedia/obs-streamfx: Update 0.11.1 -> 0.12.0b164
---
 multimedia/obs-streamfx/Makefile                   | 18 ++---
 multimedia/obs-streamfx/distinfo                   | 22 +++---
 multimedia/obs-streamfx/files/patch-CMakeLists.txt | 72 +++++--------------
 .../files/patch-cmake_modules_Architecture.cmake   | 12 ----
 .../patch-source_encoders_handlers_amf__shared.cpp |  4 +-
 .../files/patch-source_gfx_gfx-opengl.cpp          | 10 +--
 .../obs-streamfx/files/patch-source_updater.cpp    | 82 ++++++++++++++++++++++
 .../obs-streamfx/files/patch-source_updater.hpp    | 13 ++++
 .../files/patch-templates_version.hpp.in           | 19 +++++
 9 files changed, 159 insertions(+), 93 deletions(-)

diff --git a/multimedia/obs-streamfx/Makefile b/multimedia/obs-streamfx/Makefile
index ded6986bbd2f..93e3402ab72a 100644
--- a/multimedia/obs-streamfx/Makefile
+++ b/multimedia/obs-streamfx/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	obs-streamfx
-DISTVERSION=	0.11.1
+DISTVERSION=	0.12.0b164
 CATEGORIES=	multimedia
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -17,20 +17,20 @@ LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
 		libcurl.so:ftp/curl \
 		libobs.so:multimedia/obs-studio
 
-USES=		cmake localbase:ldflags qt:5 # localbase:ldflags is related to https://github.com/Xaymar/obs-StreamFX/issues/828
-USE_QT=		core gui widgets buildtools:build qmake:build
+USES=		cmake gl localbase:ldflags qt:6 # localbase:ldflags is related to https://github.com/Xaymar/obs-StreamFX/issues/828
+USE_QT=		base tools:build
+USE_GL=		gl opengl
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	Xaymar
 GH_PROJECT=	obs-StreamFX
 
-GH_TUPLE=	Xaymar:cmake-clang:f249747ff0a460b3e564801079445a2216b7c068:Xaymar_cmake_clang/cmake/clang \
-		Xaymar:cmake-codesign:d02ee94cb9c47ef6f8d2e9a5d67473b7e5cfc5bf:Xaymar_cmake_codesign/cmake/codesign \
-		nlohmann:json:db78ac1d7716f56fc9f1b030b715f872f93964e4:nlohmann_json/third-party/nlohmann-json \
+GH_TUPLE=	nlohmann:json:db78ac1d7716f56fc9f1b030b715f872f93964e4:nlohmann_json/third-party/nlohmann-json \
 		Xaymar:msvc-redist-helper:aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d:Xaymar_msvc_redist_helper/third-party/msvc-redist-helper \
-		NVIDIA:MAXINE-AR-SDK:3bd2be62a4b309d56e270bbf05a622395ce95f04:NVIDIA_MAXINE_AR_SDK/third-party/nvidia-maxine-ar-sdk \
-		NVIDIA:MAXINE-VFX-SDK:7f69da2ee4dcb02e6b024b3f40c5892de84fcb45:NVIDIA_MAXINE_VFX_SDK/third-party/nvidia-maxine-vfx-sdk \
-		Xaymar:cmake-clang:18ba565ff80cb5e6103a93e88a0265545c004707:Xaymar_cmake_clang/third-party/msvc-redist-helper/cmake/clang
+		NVIDIA:MAXINE-AR-SDK:cf68600:NVIDIA_MAXINE_AR_SDK/third-party/nvidia-maxine-ar-sdk \
+		NVIDIA:MAXINE-VFX-SDK:3058988:NVIDIA_MAXINE_VFX_SDK/third-party/nvidia-maxine-vfx-sdk \
+		Xaymar:cmake-clang:f249747:Xaymar_cmake_clang/cmake/clang \
+		Xaymar:cmake-version:16bfa95:Xaymar_cmake_version/cmake/version
 
 CMAKE_ARGS=	-DOBS_STUDIO_DIR=${LOCALBASE}/lib
 CMAKE_ON=	STRUCTURE_PACKAGEMANAGER
diff --git a/multimedia/obs-streamfx/distinfo b/multimedia/obs-streamfx/distinfo
index de13a856ea08..3ab50b133bb9 100644
--- a/multimedia/obs-streamfx/distinfo
+++ b/multimedia/obs-streamfx/distinfo
@@ -1,15 +1,15 @@
-TIMESTAMP = 1655659058
-SHA256 (Xaymar-obs-StreamFX-0.11.1_GH0.tar.gz) = e3d05410e539dcaf2d5b0a3c096206ae04def178ccfe09056bda95acf896c823
-SIZE (Xaymar-obs-StreamFX-0.11.1_GH0.tar.gz) = 14232768
-SHA256 (Xaymar-cmake-clang-18ba565ff80cb5e6103a93e88a0265545c004707_GH0.tar.gz) = 6b953a328f25730f3c5885a6b89f172644481f2ae796afd85163ac96ff4aff46
-SIZE (Xaymar-cmake-clang-18ba565ff80cb5e6103a93e88a0265545c004707_GH0.tar.gz) = 4706
-SHA256 (Xaymar-cmake-codesign-d02ee94cb9c47ef6f8d2e9a5d67473b7e5cfc5bf_GH0.tar.gz) = f24c3c3a5063627d435e7ede199e323027346df24f279d431ce1178e143a1b90
-SIZE (Xaymar-cmake-codesign-d02ee94cb9c47ef6f8d2e9a5d67473b7e5cfc5bf_GH0.tar.gz) = 4377
+TIMESTAMP = 1672343749
+SHA256 (Xaymar-obs-StreamFX-0.12.0b164_GH0.tar.gz) = da75469cd3024e20993fa0c1c177e0ac19837a409a45a7d875253fc7ec58bef2
+SIZE (Xaymar-obs-StreamFX-0.12.0b164_GH0.tar.gz) = 14306323
 SHA256 (nlohmann-json-db78ac1d7716f56fc9f1b030b715f872f93964e4_GH0.tar.gz) = 048aa963b1d551b99c8a4c05d8e666d50c282ba745623ac1c98c6c3300af38cf
 SIZE (nlohmann-json-db78ac1d7716f56fc9f1b030b715f872f93964e4_GH0.tar.gz) = 6883371
 SHA256 (Xaymar-msvc-redist-helper-aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d_GH0.tar.gz) = 005c0492a840396be46f0a9bd4802e25aaf280176128bfde7c3ed3e18a6c9c8d
 SIZE (Xaymar-msvc-redist-helper-aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d_GH0.tar.gz) = 13129
-SHA256 (NVIDIA-MAXINE-AR-SDK-3bd2be62a4b309d56e270bbf05a622395ce95f04_GH0.tar.gz) = 438a1b680d4e95101f7adcea4ac347aea605500e552fcf86c83c5a01a2b672dd
-SIZE (NVIDIA-MAXINE-AR-SDK-3bd2be62a4b309d56e270bbf05a622395ce95f04_GH0.tar.gz) = 35631489
-SHA256 (NVIDIA-MAXINE-VFX-SDK-7f69da2ee4dcb02e6b024b3f40c5892de84fcb45_GH0.tar.gz) = 9cc3a3a24d17dc263f8d2c400b1f8d3b3e08fb5492099ffae6a8b01752b3dd8c
-SIZE (NVIDIA-MAXINE-VFX-SDK-7f69da2ee4dcb02e6b024b3f40c5892de84fcb45_GH0.tar.gz) = 35086564
+SHA256 (NVIDIA-MAXINE-AR-SDK-cf68600_GH0.tar.gz) = c98b4bd02088aec86dc0ea367b4ef32e51ad87a8773734dd6f0796d625c0f2c1
+SIZE (NVIDIA-MAXINE-AR-SDK-cf68600_GH0.tar.gz) = 39646304
+SHA256 (NVIDIA-MAXINE-VFX-SDK-3058988_GH0.tar.gz) = bc39cb36c14b2d24efd5a7573156db26b0d00a2a5be44c3298daf516551c1b4b
+SIZE (NVIDIA-MAXINE-VFX-SDK-3058988_GH0.tar.gz) = 42588162
+SHA256 (Xaymar-cmake-clang-f249747_GH0.tar.gz) = 39a5d5affab7a4f4a5aaaf32527e36dc1102473310fd4da312380a8c0e3f8196
+SIZE (Xaymar-cmake-clang-f249747_GH0.tar.gz) = 5876
+SHA256 (Xaymar-cmake-version-16bfa95_GH0.tar.gz) = 4dbaa126bbd44217a142903eb50bc7e979fc9b8def951045180f5beceb0ab5de
+SIZE (Xaymar-cmake-version-16bfa95_GH0.tar.gz) = 11258
diff --git a/multimedia/obs-streamfx/files/patch-CMakeLists.txt b/multimedia/obs-streamfx/files/patch-CMakeLists.txt
index 08c6b1b8e6a3..4d9be903a22c 100644
--- a/multimedia/obs-streamfx/files/patch-CMakeLists.txt
+++ b/multimedia/obs-streamfx/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig	2022-02-26 20:04:54 UTC
+--- CMakeLists.txt.orig	2022-12-02 04:28:08 UTC
 +++ CMakeLists.txt
-@@ -191,6 +191,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+@@ -234,6 +234,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
  elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
  	set(D_PLATFORM_OS "linux")
  	set(D_PLATFORM_LINUX 1)
@@ -10,61 +10,16 @@
  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
  	set(D_PLATFORM_OS "macos")
  	set(D_PLATFORM_MAC 1)
-@@ -331,7 +334,7 @@ set(${PREFIX}ENABLE_PROFILING OFF CACHE BOOL "Enable C
+@@ -368,7 +371,7 @@ endif()
  # Installation / Packaging
  if(STANDALONE)
  	set(STRUCTURE_UNIFIED CACHE BOOL "Install for use in a Plugin Manager")
 -	if(D_PLATFORM_LINUX)
 +	if(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
  		set(STRUCTURE_PACKAGEMANAGER CACHE BOOL "Install for use in a Package Manager (system-wide installation)")
- 	endif()
- 
-@@ -382,7 +385,7 @@ endif()
- # Standalone Build: OBS Studio
- ################################################################################
- 
--if(NOT ${PREFIX}OBS_NATIVE)
-+if(FALSE AND NOT ${PREFIX}OBS_NATIVE)
- 	# Options
- 	set(${PREFIX}DOWNLOAD_OBS_URL "" CACHE STRING "(Optional) URL of prebuilt libOBS archive to download.")
- 	set(${PREFIX}DOWNLOAD_OBS_HASH "" CACHE STRING "(Optional) The hash for the libOBS archive.")
-@@ -410,7 +413,7 @@ if(NOT ${PREFIX}OBS_NATIVE)
- 				message(FATAL_ERROR "${LOGPREFIX} Platform '${D_PLATFORM_OS}' with architecture '${D_PLATFORM_ARCH}' and bitness '${D_PLATFORM_BITS}' is not supported.")
- 				return()
- 			endif()
--		elseif(D_PLATFORM_LINUX)
-+		elseif(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
- 			if (D_PLATFORM_ARCH_X86)
- 				set(_DOWNLOAD_OBS_URL "https://github.com/Xaymar/obs-studio/releases/download/${_DOWNLOAD_OBS_VERSION}/obs-studio-x64-0.0.0.0-ubuntu-${D_PLATFORM_ARCH}-${D_PLATFORM_BITS}.7z")
- 				if (D_PLATFORM_BITS EQUAL 64)
-@@ -458,7 +461,7 @@ endif()
- # Standalone Build: OBS Studio Dependencies
- ################################################################################
- 
--if(STANDALONE AND NOT D_PLATFORM_LINUX)
-+if(STANDALONE AND NOT D_PLATFORM_LINUX AND NOT D_PLATFORM_FREEBSD)
- 	# Options
- 	set(${PREFIX}DOWNLOAD_OBSDEPS_URL "" CACHE STRING "(Optional) URL of prebuilt libOBS archive to download.")
- 	set(${PREFIX}DOWNLOAD_OBSDEPS_HASH "" CACHE STRING "(Optional) The hash for the libOBS archive.")
-@@ -534,7 +537,7 @@ endif()
- # Standalone Build: Qt v5.x
- ################################################################################
- 
--if(STANDALONE AND NOT D_PLATFORM_LINUX)
-+if(STANDALONE AND NOT D_PLATFORM_LINUX AND NOT D_PLATFORM_FREEBSD)
- 	set(${PREFIX}DOWNLOAD_QT OFF CACHE BOOL "Download Qt?")
- 
- 	if(${PREFIX}DOWNLOAD_QT)
-@@ -1075,7 +1078,7 @@ if(D_PLATFORM_WINDOWS) # Windows Support
- endif()
- 
- # Minimum Dependencies
--list(APPEND PROJECT_LIBRARIES libobs)
-+list(APPEND PROJECT_LIBRARIES obs)
- 
- # Components
- if(HAVE_CURL)
-@@ -1118,7 +1121,7 @@ if(TRUE) # OpenGL
+ 	elseif(D_PLATFORM_MAC)
+ 		set(STRUCTURE_BUNDLE ON CACHE BOOL "Install as a Loadable Bundle (.plugin)")
+@@ -931,7 +934,7 @@ if(TRUE) # OpenGL
  				PRIVATE
  				"${PROJECT_SOURCE_DIR}/third-party/khronos/glad/src/wgl.c"
  			)
@@ -73,7 +28,7 @@
  			target_sources(khronos_glad
  				PRIVATE
  				"${PROJECT_SOURCE_DIR}/third-party/khronos/glad/src/glx.c"
-@@ -1782,9 +1785,9 @@ if((CMAKE_C_COMPILER_ID STREQUAL "GNU")
+@@ -1627,9 +1630,9 @@ if((CMAKE_C_COMPILER_ID STREQUAL "GNU")
  	OR (CMAKE_C_COMPILER_ID STREQUAL "Clang")
  	OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
  	if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
@@ -86,7 +41,16 @@
  	endif()
  endif()
  
-@@ -2011,7 +2014,7 @@ else()
+@@ -1812,7 +1815,7 @@ if(D_PLATFORM_WINDOWS AND ((CMAKE_CXX_COMPILER_ID STRE
+ 	foreach(FLAG ${FLAGS})
+ 		target_compile_options(${PROJECT_NAME} PRIVATE "$<$<CONFIG:Release,RelWithDebInfo,MinSizeRel>:${FLAG}>")
+ 	endforeach()
+-elseif(D_PLATFORM_LINUX AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
++elseif((D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD) AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
+ 	# GCC/Clang
+ 	message(STATUS "${LOGPREFIX}Applying custom flags for GCC/Clang style build.")
+ 
+@@ -2088,7 +2091,7 @@ if(STANDALONE)
  					DESTINATION "data/" COMPONENT StreamFX
  				)
  			endif()
@@ -95,7 +59,7 @@
  			install(
  				TARGETS ${PROJECT_NAME}
  				RUNTIME DESTINATION "bin/linux-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
-@@ -2062,7 +2065,7 @@ else()
+@@ -2139,7 +2142,7 @@ if(STANDALONE)
  				DESTINATION "data/obs-plugins/${PROJECT_NAME}/" COMPONENT StreamFX
  			)
  		endif()
diff --git a/multimedia/obs-streamfx/files/patch-cmake_modules_Architecture.cmake b/multimedia/obs-streamfx/files/patch-cmake_modules_Architecture.cmake
deleted file mode 100644
index ca0abec39b4a..000000000000
--- a/multimedia/obs-streamfx/files/patch-cmake_modules_Architecture.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
---- cmake/modules/Architecture.cmake.orig	2022-02-26 20:04:54 UTC
-+++ cmake/modules/Architecture.cmake
-@@ -1,7 +1,7 @@
- # Setup
- set(ARCH_INSTR_32 "i386;i686;x86;arm;ARM")
--set(ARCH_INSTR_64 "x86_64;AMD64;IA64;arm64;ARM64")
--set(ARCH_INSTR_X86 "i386;i686;x86;x86_64;AMD64")
-+set(ARCH_INSTR_64 "x86_64;amd64;AMD64;IA64;arm64;ARM64")
-+set(ARCH_INSTR_X86 "i386;i686;x86;x86_64;amd64;AMD64")
- set(ARCH_INSTR_ARM "arm;ARM;arm64;ARM64")
- set(ARCH_INSTR_ITANIUM "IA64")
- set(ARCH_BITS 0)
diff --git a/multimedia/obs-streamfx/files/patch-source_encoders_handlers_amf__shared.cpp b/multimedia/obs-streamfx/files/patch-source_encoders_handlers_amf__shared.cpp
index ad2aa6f115f3..d299498d8aee 100644
--- a/multimedia/obs-streamfx/files/patch-source_encoders_handlers_amf__shared.cpp
+++ b/multimedia/obs-streamfx/files/patch-source_encoders_handlers_amf__shared.cpp
@@ -1,6 +1,6 @@
---- source/encoders/handlers/amf_shared.cpp.orig	2022-06-19 17:00:02 UTC
+--- source/encoders/handlers/amf_shared.cpp.orig	2022-12-02 04:28:08 UTC
 +++ source/encoders/handlers/amf_shared.cpp
-@@ -109,7 +109,7 @@ bool streamfx::encoder::ffmpeg::handler::amf::is_avail
+@@ -113,7 +113,7 @@ bool streamfx::encoder::ffmpeg::handler::amf::is_avail
  #else
  	std::filesystem::path lib_name = std::filesystem::u8path("amfrt32.dll");
  #endif
diff --git a/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp b/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp
index f20fc3e1c1c9..6a4f6aecc7ec 100644
--- a/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp
+++ b/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp
@@ -1,6 +1,6 @@
---- source/gfx/gfx-opengl.cpp.orig	2022-06-19 17:00:46 UTC
+--- source/gfx/gfx-opengl.cpp.orig	2022-12-02 04:28:08 UTC
 +++ source/gfx/gfx-opengl.cpp
-@@ -28,7 +28,7 @@
+@@ -32,7 +32,7 @@
  #ifdef D_PLATFORM_WINDOWS
  #include "glad/wgl.h"
  #endif
@@ -8,8 +8,8 @@
 +#if defined(D_PLATFORM_LINUX) || defined(D_PLATFORM_FREEBSD)
  #include "glad/glx.h"
  #endif
- 
-@@ -67,7 +67,7 @@ streamfx::gfx::opengl::opengl()
+ #include "warning-enable.hpp"
+@@ -72,7 +72,7 @@ streamfx::gfx::opengl::opengl()
  	// ToDo: Figure out the HDC for which we need to load.
  	//gladLoaderLoadWGL();
  #endif
@@ -18,7 +18,7 @@
  	//gladLoaderLoadGLX();
  #endif // D_PLATFORM_LINUX
  	D_LOG_INFO("Version %d.%d initialized.", GLAD_VERSION_MAJOR(version), GLAD_VERSION_MINOR(version));
-@@ -80,7 +80,7 @@ streamfx::gfx::opengl::~opengl()
+@@ -85,7 +85,7 @@ streamfx::gfx::opengl::~opengl()
  	// Does not appear to exist.
  	//gladLoaderUnloadWGL();
  #endif
diff --git a/multimedia/obs-streamfx/files/patch-source_updater.cpp b/multimedia/obs-streamfx/files/patch-source_updater.cpp
new file mode 100644
index 000000000000..7be675c05fec
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_updater.cpp
@@ -0,0 +1,82 @@
+--- source/updater.cpp.orig	2022-12-29 20:11:04 UTC
++++ source/updater.cpp
+@@ -94,7 +94,7 @@ void streamfx::from_json(const nlohmann::json& json, v
+ }
+ 
+ streamfx::version_info::version_info()
+-	: major(0), minor(0), patch(0), tweak(0), stage(version_stage::STABLE), url(""), name("")
++	: major_(0), minor_(0), patch(0), tweak(0), stage(version_stage::STABLE), url(""), name("")
+ {}
+ 
+ streamfx::version_info::version_info(const std::string text) : version_info()
+@@ -110,8 +110,8 @@ streamfx::version_info::version_info(const std::string
+ 	std::smatch matches;
+ 	if (std::regex_match(text, matches, re_version,
+ 						 std::regex_constants::match_any | std::regex_constants::match_continuous)) {
+-		major = static_cast<uint16_t>(strtoul(matches[1].str().c_str(), nullptr, 10));
+-		minor = static_cast<uint16_t>(strtoul(matches[2].str().c_str(), nullptr, 10));
++		major_ = static_cast<uint16_t>(strtoul(matches[1].str().c_str(), nullptr, 10));
++		minor_ = static_cast<uint16_t>(strtoul(matches[2].str().c_str(), nullptr, 10));
+ 		patch = static_cast<uint16_t>(strtoul(matches[3].str().c_str(), nullptr, 10));
+ 		if (matches.size() >= 5) {
+ 			stage = stage_from_string(matches[5].str());
+@@ -125,8 +125,8 @@ streamfx::version_info::version_info(const std::string
+ void streamfx::to_json(nlohmann::json& json, const version_info& info)
+ {
+ 	auto version     = nlohmann::json::object();
+-	version["major"] = info.major;
+-	version["minor"] = info.minor;
++	version["major"] = info.major_;
++	version["minor"] = info.minor_;
+ 	version["patch"] = info.patch;
+ 	version["type"]  = info.stage;
+ 	version["tweak"] = info.tweak;
+@@ -139,8 +139,8 @@ void streamfx::from_json(const nlohmann::json& json, v
+ {
+ 	if (json.find("html_url") == json.end()) {
+ 		auto version = json.at("version");
+-		info.major   = version.at("major").get<uint16_t>();
+-		info.minor   = version.at("minor").get<uint16_t>();
++		info.major_   = version.at("major").get<uint16_t>();
++		info.minor_   = version.at("minor").get<uint16_t>();
+ 		info.patch   = version.at("patch").get<uint16_t>();
+ 		info.stage   = version.at("type");
+ 		info.tweak   = version.at("tweak").get<uint16_t>();
+@@ -173,18 +173,18 @@ bool streamfx::version_info::is_older_than(const versi
+ 	//     A. Ours is greater: Remote is older.
+ 	//     B. Theirs is greater: Remote is newer.
+ 	//     C. Continue the check.
+-	if (major > other.major)
++	if (major_ > other.major_)
+ 		return false;
+-	if (major < other.major)
++	if (major_ < other.major_)
+ 		return true;
+ 
+ 	// 2. Compare Minor version:
+ 	//     A. Ours is greater: Remote is older.
+ 	//     B. Theirs is greater: Remote is newer.
+ 	//     C. Continue the check.
+-	if (minor > other.minor)
++	if (minor_ > other.minor_)
+ 		return false;
+-	if (minor < other.minor)
++	if (minor_ < other.minor_)
+ 		return true;
+ 
+ 	// 3. Compare Patch version:
+@@ -219,11 +219,11 @@ streamfx::version_info::operator std::string()
+ 	std::vector<char> buffer(25, 0);
+ 	if (stage != version_stage::STABLE) {
+ 		auto types = stage_to_string(stage);
+-		int  len   = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16 "%.1s%" PRIu16, major,
+-							  minor, patch, types.data(), tweak);
++		int  len   = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16 "%.1s%" PRIu16, major_,
++							  minor_, patch, types.data(), tweak);
+ 		return std::string(buffer.data(), buffer.data() + len);
+ 	} else {
+-		int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16, major, minor, patch);
++		int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16, major_, minor_, patch);
+ 		return std::string(buffer.data(), buffer.data() + len);
+ 	}
+ }
diff --git a/multimedia/obs-streamfx/files/patch-source_updater.hpp b/multimedia/obs-streamfx/files/patch-source_updater.hpp
new file mode 100644
index 000000000000..4ce34f3300fe
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_updater.hpp
@@ -0,0 +1,13 @@
+--- source/updater.hpp.orig	2022-12-29 20:10:45 UTC
++++ source/updater.hpp
+@@ -45,8 +45,8 @@ namespace streamfx {
+ 
+ 	struct version_info {
+ 		public:
+-		uint16_t      major;
+-		uint16_t      minor;
++		uint16_t      major_;
++		uint16_t      minor_;
+ 		uint16_t      patch;
+ 		uint16_t      tweak;
+ 		version_stage stage;
diff --git a/multimedia/obs-streamfx/files/patch-templates_version.hpp.in b/multimedia/obs-streamfx/files/patch-templates_version.hpp.in
new file mode 100644
index 000000000000..97b37fa6768a
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-templates_version.hpp.in
@@ -0,0 +1,19 @@
+- workaround for https://github.com/Xaymar/obs-StreamFX/issues/999
+
+--- templates/version.hpp.in.orig	2022-12-29 20:03:59 UTC
++++ templates/version.hpp.in
+@@ -32,10 +32,10 @@
+ #define STREAMFX_MASK_COMPAT 0xFFFFFFFF00000000ull
+ #define STREAMFX_MASK_UPDATE 0xFFFFFFFFFFFF0000ull
+ 
+-#define STREAMFX_VERSION_MAJOR @PROJECT_VERSION_MAJOR@u
+-#define STREAMFX_VERSION_MINOR @PROJECT_VERSION_MINOR@u
+-#define STREAMFX_VERSION_PATCH @PROJECT_VERSION_PATCH@u
+-#define STREAMFX_VERSION_TWEAK @PROJECT_VERSION_TWEAK@u
++#define STREAMFX_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
++#define STREAMFX_VERSION_MINOR @PROJECT_VERSION_MINOR@
++#define STREAMFX_VERSION_PATCH @PROJECT_VERSION_PATCH@
++#define STREAMFX_VERSION_TWEAK @PROJECT_VERSION_TWEAK@
+ #define STREAMFX_VERSION_PRERELEASE "@_VERSION_PRERELEASE@"
+ #define STREAMFX_VERSION_BUILD "@_VERSION_BUILD@"
+ #define STREAMFX_VERSION                                                                          \