git: 347f41b14036 - main - multimedia/obs-streamfx: Update 0.11.1 -> 0.12.0b164
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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 \