git: e7097b1df5d8 - main - multimedia/libopenshot: Update to 1.0.0

From: Max Brazhnikov <makc_at_FreeBSD.org>
Date: Thu, 10 Sep 2026 14:05:17 UTC
The branch main has been updated by makc:

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

commit e7097b1df5d82627e9fd353663de78213aa06639
Author:     Tatsuki Makino <tatsuki_makino@hotmail.com>
AuthorDate: 2026-09-10 14:03:16 +0000
Commit:     Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2026-09-10 14:03:35 +0000

    multimedia/libopenshot: Update to 1.0.0
    
    PR:             297734
---
 multimedia/libopenshot/Makefile                    | 28 ++++---
 multimedia/libopenshot/distinfo                    |  6 +-
 multimedia/libopenshot/files/patch-CMakeLists.txt  |  8 +-
 .../files/patch-bindings_python_CMakeLists.txt     |  4 +-
 multimedia/libopenshot/files/patch-ffmpeg9         | 18 +++--
 .../libopenshot/files/patch-src_CMakeLists.txt     | 19 +++--
 .../files/patch-src_CameraCaptureReader.cpp        | 29 +++++++
 multimedia/libopenshot/files/patch-src_Clip.cpp    |  4 +-
 .../libopenshot/files/patch-src_FFmpegReader.cpp   |  8 +-
 .../libopenshot/files/patch-src_FFmpegUtilities.h  |  4 +-
 .../libopenshot/files/patch-src_FFmpegWriter.cpp   |  4 +-
 .../files/patch-src_ScreenCaptureReader.cpp        | 90 ++++++++++++++++++++++
 multimedia/libopenshot/pkg-message                 |  5 --
 multimedia/libopenshot/pkg-plist                   | 20 ++++-
 14 files changed, 201 insertions(+), 46 deletions(-)

diff --git a/multimedia/libopenshot/Makefile b/multimedia/libopenshot/Makefile
index 3e1df32a406d..c70b7ed360ed 100644
--- a/multimedia/libopenshot/Makefile
+++ b/multimedia/libopenshot/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	libopenshot
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.7.0
-PORTREVISION=	1
+DISTVERSION=	1.0.0
 CATEGORIES=	multimedia
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
@@ -23,12 +22,13 @@ LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
 		libopenshot-audio.so:audio/libopenshot-audio \
 		libzmq.so:net/libzmq4
 
-USES=		cmake compiler:c++17-lang pkgconfig python qt:5
+USES=		cmake compiler:c++17-lang pkgconfig python qt:6
 USE_GITHUB=	yes
 GH_ACCOUNT=	OpenShot
 USE_LDCONFIG=	yes
 USE_PYTHON=	flavors
-USE_QT=		core gui widgets buildtools:build qmake:build
+USE_QT=		base
+CMAKE_ARGS=	-DUSE_QT6:STRING=ON
 CMAKE_ON=	USE_SYSTEM_JSONCPP DISABLE_BUNDLED_JSONCPP\
 		USE_HW_ACCEL ENABLE_PYTHON\
 		CMAKE_DISABLE_FIND_PACKAGE_Catch2
@@ -39,7 +39,7 @@ DEBUG_FLAGS?=	-g
 DEBUG_FLAGS+=	-D_DEBUG -DJUCE_FORCE_DEBUG=1
 PLIST_SUB=	VERSION=${DISTVERSION}
 
-OPTIONS_DEFINE=		DOCS DOXYGEN IMAGEMAGICK OPENCV RESVG RUBY
+OPTIONS_DEFINE=		DOCS DOXYGEN IMAGEMAGICK OPENCV RESVG RUBY WAYLAND
 OPTIONS_DEFAULT=	IMAGEMAGICK OPENCV
 OPTIONS_SUB=		yes
 RESVG_DESC?=		SVG vector graphics support via resvg
@@ -59,16 +59,26 @@ OPENCV_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_OpenCV\
 			CMAKE_DISABLE_FIND_PACKAGE_Protobuf
 OPENCV_CMAKE_ON=	-DOpenCV_DIR:STRING=${LOCALBASE:Q}/cmake/opencv4
 RESVG_LIB_DEPENDS=	libresvg.so:graphics/resvg-capi
-RESVG_USE_OFF=		QT=svg
+RESVG_USE_OFF=		qt=svg
 RESVG_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_Resvg
-RESVG_CMAKE_ON=		-DRESVGDIR:STRING=${LOCALBASE:Q}
-RUBY_LIB_DEPENDS=	libruby${RUBY_SUFFIX}.so:lang/ruby${RUBY_SUFFIX}
-RUBY_USES=		ruby:build
+RESVG_CMAKE_ON=		-DResvg_ROOT:STRING=${LOCALBASE:Q}
+RUBY_LIB_DEPENDS=	libruby${RUBY_SHLIBVER}.so:${RUBY_PORT}
+RUBY_USES=		ruby:none
 RUBY_CMAKE_BOOL=	ENABLE_RUBY
 RUBY_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_Ruby
+WAYLAND_LIB_DEPENDS=	libpipewire-0.3.so:multimedia/pipewire
+WAYLAND_USES=		gnome
+WAYLAND_USE=		gnome=glib20
+WAYLAND_CMAKE_BOOL=	ENABLE_WAYLAND_CAPTURE
 
 .if !exists(/usr/include/omp.h)
 USE_GCC=		yes
 .endif
 
+# OpenGL that needs to be detected within
+# Qt6/FindWrapOpenGL.cmake by find_package is not used.
+# It seems that Qt was being loaded by dlopen,
+# so it needs to be resolved on the Qt side.
+LDFLAGS+=	-Wl,--as-needed
+
 .include <bsd.port.mk>
diff --git a/multimedia/libopenshot/distinfo b/multimedia/libopenshot/distinfo
index 342d712ead14..8f8092ca3418 100644
--- a/multimedia/libopenshot/distinfo
+++ b/multimedia/libopenshot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1775703600
-SHA256 (OpenShot-libopenshot-v0.7.0_GH0.tar.gz) = a7954c6af479fbd2e83059d4b6cbb13228de183f9a4eefcbcc8b3fd8de630dd2
-SIZE (OpenShot-libopenshot-v0.7.0_GH0.tar.gz) = 27078138
+TIMESTAMP = 1788577200
+SHA256 (OpenShot-libopenshot-v1.0.0_GH0.tar.gz) = 5c5f3790f6f70977f3573b9d039372d5b85bddc46f8944244a6225a79891acf2
+SIZE (OpenShot-libopenshot-v1.0.0_GH0.tar.gz) = 27227731
diff --git a/multimedia/libopenshot/files/patch-CMakeLists.txt b/multimedia/libopenshot/files/patch-CMakeLists.txt
index 8906919b946d..22b4964fcb11 100644
--- a/multimedia/libopenshot/files/patch-CMakeLists.txt
+++ b/multimedia/libopenshot/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig	2026-04-02 23:34:37 UTC
+--- CMakeLists.txt.orig	2026-07-22 19:42:15 UTC
 +++ CMakeLists.txt
-@@ -131,7 +131,9 @@ add_subdirectory(src)
+@@ -132,7 +132,9 @@ add_subdirectory(src)
  ### Process subdirectories
  ###
  add_subdirectory(src)
@@ -10,7 +10,7 @@
  add_subdirectory(bindings)
  
  ###
-@@ -189,6 +191,8 @@ if (ENABLE_LIB_DOCS AND CMAKE_VERSION VERSION_GREATER 
+@@ -190,6 +192,8 @@ if (ENABLE_LIB_DOCS AND CMAKE_VERSION VERSION_GREATER 
      set(DOXYGEN_INTERACTIVE_SVG YES)
      set(DOXYGEN_DOT_TRANSPARENT YES)
  
@@ -19,7 +19,7 @@
      doxygen_add_docs(${PROJECT_NAME}-doc
        ${PROJECT_SOURCE_DIR}/src
        ${PROJECT_SOURCE_DIR}/doc
-@@ -209,7 +213,7 @@ if (TARGET ${PROJECT_NAME}-doc)
+@@ -210,7 +214,7 @@ if (TARGET ${PROJECT_NAME}-doc)
      OPTIONAL )    # No error if the docs aren't found
  
    if(NOT TARGET doc)
diff --git a/multimedia/libopenshot/files/patch-bindings_python_CMakeLists.txt b/multimedia/libopenshot/files/patch-bindings_python_CMakeLists.txt
index 99df36c003ea..aa9dbc64b3a2 100644
--- a/multimedia/libopenshot/files/patch-bindings_python_CMakeLists.txt
+++ b/multimedia/libopenshot/files/patch-bindings_python_CMakeLists.txt
@@ -1,6 +1,6 @@
---- bindings/python/CMakeLists.txt.orig	2026-03-20 19:34:28 UTC
+--- bindings/python/CMakeLists.txt.orig	2026-07-22 19:42:15 UTC
 +++ bindings/python/CMakeLists.txt
-@@ -117,7 +117,7 @@ if (NOT DEFINED PYTHON_MODULE_PATH)
+@@ -123,7 +123,7 @@ if (NOT DEFINED PYTHON_MODULE_PATH)
      if (NOT EXISTS "${CMAKE_INSTALL_PREFIX}/${PYTHON_MODULE_PATH}")
        ### Calculate the python module path (prefer sysconfig, fallback to distutils for compatibility)
        execute_process(
diff --git a/multimedia/libopenshot/files/patch-ffmpeg9 b/multimedia/libopenshot/files/patch-ffmpeg9
index d6e971fb04de..6461721c8719 100644
--- a/multimedia/libopenshot/files/patch-ffmpeg9
+++ b/multimedia/libopenshot/files/patch-ffmpeg9
@@ -1,6 +1,6 @@
---- src/FFmpegWriter.cpp	2026-04-03 01:34:37.000000000 +0200
-+++ src/FFmpegWriter.cpp	2026-08-13 19:59:55.020084338 +0200
-@@ -1042,38 +1042,60 @@
+--- src/FFmpegWriter.cpp.orig	2026-08-18 06:00:44 UTC
++++ src/FFmpegWriter.cpp
+@@ -1142,19 +1142,30 @@ AVStream *FFmpegWriter::add_audio_stream() {
  #endif
  
  	// Set valid sample rate (or throw error)
@@ -42,6 +42,9 @@
 +			c->sample_rate = info.sample_rate;
 +	}
  
+ 	c->time_base = AVRational{1, c->sample_rate};
+ 	st->time_base = c->time_base;
+@@ -1162,22 +1173,33 @@ AVStream *FFmpegWriter::add_audio_stream() {
  	uint64_t channel_layout = info.channel_layout;
  #if HAVE_CH_LAYOUT
  	// Set a valid number of channels (or throw error)
@@ -67,7 +70,7 @@
 +		if (avcodec_get_supported_config(NULL, codec, AV_CODEC_CONFIG_CHANNEL_LAYOUT, 0,
 +						 (const void **)&ch_layouts, NULL) < 0)
 +			ch_layouts = NULL;
-+#else
+ #else
 +		ch_layouts = codec->ch_layouts;
 +#endif
 +		if (ch_layouts) {
@@ -84,10 +87,11 @@
 +			// Set valid channel layout
 +			av_channel_layout_copy(&c->ch_layout, &ch_layout);
 +	}
- #else
++#else
  	// Set a valid number of channels (or throw error)
  	if (codec->channel_layouts) {
-@@ -1092,11 +1114,22 @@
+ 		int i;
+@@ -1195,11 +1217,22 @@ AVStream *FFmpegWriter::add_audio_stream() {
  #endif
  
  	// Choose a valid sample_fmt
@@ -115,7 +119,7 @@
  		}
  	}
  	if (c->sample_fmt == AV_SAMPLE_FMT_NONE) {
-@@ -1297,7 +1330,15 @@
+@@ -1401,7 +1434,15 @@ AVStream *FFmpegWriter::add_video_stream() {
  #endif
  
  	// Find all supported pixel formats for this codec
diff --git a/multimedia/libopenshot/files/patch-src_CMakeLists.txt b/multimedia/libopenshot/files/patch-src_CMakeLists.txt
index 212415c64884..98805cf827e1 100644
--- a/multimedia/libopenshot/files/patch-src_CMakeLists.txt
+++ b/multimedia/libopenshot/files/patch-src_CMakeLists.txt
@@ -1,9 +1,19 @@
---- src/CMakeLists.txt.orig	2025-12-17 05:23:44 UTC
+--- src/CMakeLists.txt.orig	2026-08-18 06:00:44 UTC
 +++ src/CMakeLists.txt
-@@ -524,6 +524,26 @@ add_feature_info("OpenCV algorithms" ENABLE_OPENCV "Us
+@@ -96,7 +96,7 @@ set(OPENSHOT_WAYLAND_CAPTURE FALSE)
+   )
+ 
+ set(OPENSHOT_WAYLAND_CAPTURE FALSE)
+-if(ENABLE_WAYLAND_CAPTURE AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
++if(ENABLE_WAYLAND_CAPTURE)
+   find_package(PkgConfig)
+   if(PkgConfig_FOUND)
+     pkg_check_modules(PC_PIPEWIRE QUIET IMPORTED_TARGET libpipewire-0.3)
+@@ -621,6 +621,26 @@ add_feature_info("OpenCV algorithms" ENABLE_OPENCV "Us
+   endif()
  endif()  # ENABLE_OPENCV
  add_feature_info("OpenCV algorithms" ENABLE_OPENCV "Use OpenCV algorithms")
- 
++
 +#
 +include(CheckFunctionExists)
 +include(CheckLibraryExists)
@@ -23,7 +33,6 @@
 +if(EXECINFO_LIBRARY)
 +	target_link_libraries(openshot PRIVATE ${EXECINFO_LIBRARY})
 +endif(EXECINFO_LIBRARY)
-+
+ 
  ###############  LINK LIBRARY  #################
  # Link remaining dependency libraries
- if(DEFINED PROFILER)
diff --git a/multimedia/libopenshot/files/patch-src_CameraCaptureReader.cpp b/multimedia/libopenshot/files/patch-src_CameraCaptureReader.cpp
new file mode 100644
index 000000000000..51433691269c
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-src_CameraCaptureReader.cpp
@@ -0,0 +1,29 @@
+--- src/CameraCaptureReader.cpp.orig	2026-08-18 06:00:44 UTC
++++ src/CameraCaptureReader.cpp
+@@ -137,7 +137,7 @@ bool CameraCaptureReader::IsBackendSupported(CameraCap
+ 
+ bool CameraCaptureReader::IsBackendSupported(CameraCaptureBackend backend)
+ {
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	return backend == CAMERA_CAPTURE_V4L2 || backend == CAMERA_CAPTURE_AUTO;
+ #elif defined(_WIN32)
+ 	return backend == CAMERA_CAPTURE_WINDOWS_DSHOW || backend == CAMERA_CAPTURE_AUTO;
+@@ -151,7 +151,7 @@ CameraCaptureBackend CameraCaptureReader::DefaultBacke
+ 
+ CameraCaptureBackend CameraCaptureReader::DefaultBackend()
+ {
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	return CAMERA_CAPTURE_V4L2;
+ #elif defined(_WIN32)
+ 	return CAMERA_CAPTURE_WINDOWS_DSHOW;
+@@ -170,7 +170,7 @@ AudioDeviceList CameraCaptureReader::GetDeviceNames(Ca
+ 
+ 	AudioDeviceList devices;
+ 	const char* input_format_name = nullptr;
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	if (backend == CAMERA_CAPTURE_V4L2) {
+ 		input_format_name = "v4l2";
+ 	}
diff --git a/multimedia/libopenshot/files/patch-src_Clip.cpp b/multimedia/libopenshot/files/patch-src_Clip.cpp
index cd8fb58c72c5..e7180e64b7be 100644
--- a/multimedia/libopenshot/files/patch-src_Clip.cpp
+++ b/multimedia/libopenshot/files/patch-src_Clip.cpp
@@ -1,6 +1,6 @@
---- src/Clip.cpp.orig	2026-04-02 23:34:37 UTC
+--- src/Clip.cpp.orig	2026-07-22 19:42:15 UTC
 +++ src/Clip.cpp
-@@ -1441,6 +1441,7 @@ QSize Clip::scale_size(QSize source_size, ScaleType so
+@@ -1535,6 +1535,7 @@ QSize Clip::scale_size(QSize source_size, ScaleType so
              source_size.scale(target_width, target_height, Qt::KeepAspectRatioByExpanding);;
              break;
          }
diff --git a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
index 5a545b352457..9272a9883507 100644
--- a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
+++ b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
@@ -1,6 +1,6 @@
---- src/FFmpegReader.cpp.orig	2026-04-02 23:34:37 UTC
+--- src/FFmpegReader.cpp.orig	2026-07-22 19:42:15 UTC
 +++ src/FFmpegReader.cpp
-@@ -170,7 +170,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon
+@@ -172,7 +172,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon
  
  	for (p = pix_fmts; *p != AV_PIX_FMT_NONE; p++) {
  		switch (*p) {
@@ -9,7 +9,7 @@
  			// Linux pix formats
  			case AV_PIX_FMT_VAAPI:
  				if (selected == 1) {
-@@ -357,7 +357,7 @@ void FFmpegReader::Open() {
+@@ -359,7 +359,7 @@ void FFmpegReader::Open() {
  					pCodecCtx->get_format = get_hw_dec_format;
  
  					if (adapter_num < 3 && adapter_num >=0) {
@@ -18,7 +18,7 @@
  						snprintf(adapter,sizeof(adapter),"/dev/dri/renderD%d", adapter_num+128);
  						adapter_ptr = adapter;
  						i_decoder_hw = openshot::Settings::Instance()->HARDWARE_DECODER;
-@@ -420,11 +420,13 @@ void FFmpegReader::Open() {
+@@ -422,11 +422,13 @@ void FFmpegReader::Open() {
  					}
  
  					// Check if it is there and writable
diff --git a/multimedia/libopenshot/files/patch-src_FFmpegUtilities.h b/multimedia/libopenshot/files/patch-src_FFmpegUtilities.h
index 62190bdf24b9..796acbbfb5dc 100644
--- a/multimedia/libopenshot/files/patch-src_FFmpegUtilities.h
+++ b/multimedia/libopenshot/files/patch-src_FFmpegUtilities.h
@@ -1,6 +1,6 @@
---- src/FFmpegUtilities.h.orig	2026-04-02 23:34:37 UTC
+--- src/FFmpegUtilities.h.orig	2026-07-22 19:42:15 UTC
 +++ src/FFmpegUtilities.h
-@@ -411,7 +411,7 @@ inline static void* aligned_malloc(size_t size, size_t
+@@ -410,7 +410,7 @@ inline static void* aligned_malloc(size_t size, size_t
  {
  #if defined(_WIN32)
      return _aligned_malloc(size, alignment);
diff --git a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
index da5883144421..3d7d481d47d9 100644
--- a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
+++ b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
@@ -1,4 +1,4 @@
---- src/FFmpegWriter.cpp.orig	2026-04-02 23:34:37 UTC
+--- src/FFmpegWriter.cpp.orig	2026-07-22 19:42:15 UTC
 +++ src/FFmpegWriter.cpp
 @@ -168,7 +168,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
  		const AVCodec *new_codec;
@@ -35,7 +35,7 @@
  				}
  #endif  // FFmpeg 4.0+
  		} else {
-@@ -1429,21 +1432,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS
+@@ -1533,21 +1536,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS
  		adapter_num = openshot::Settings::Instance()->HW_EN_DEVICE_SET;
  		std::clog << "Encoding Device Nr: " << adapter_num << "\n";
  		if (adapter_num < 3 && adapter_num >=0) {
diff --git a/multimedia/libopenshot/files/patch-src_ScreenCaptureReader.cpp b/multimedia/libopenshot/files/patch-src_ScreenCaptureReader.cpp
new file mode 100644
index 000000000000..c1e4a7788ad0
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-src_ScreenCaptureReader.cpp
@@ -0,0 +1,90 @@
+--- src/ScreenCaptureReader.cpp.orig	2026-08-18 06:00:44 UTC
++++ src/ScreenCaptureReader.cpp
+@@ -24,7 +24,7 @@
+ #include <thread>
+ #include <vector>
+ 
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	#include <dlfcn.h>
+ #endif
+ 
+@@ -47,7 +47,7 @@ using namespace openshot;
+ 
+ using namespace openshot;
+ 
+-#if defined(HAVE_WAYLAND_CAPTURE_PLUGIN) && defined(__linux__)
++#if defined(HAVE_WAYLAND_CAPTURE_PLUGIN) && defined(__unix__)
+ namespace
+ {
+ 	using WaylandBackendFactory = std::unique_ptr<ScreenCaptureReader::CaptureBackendReader> (*) (
+@@ -81,7 +81,7 @@ namespace
+ }
+ #endif
+ 
+-#if defined(__linux__)
++#if defined(__unix__)
+ class ScreenCaptureReader::SystemAudioCapture
+ {
+ public:
+@@ -620,13 +620,13 @@ ScreenCaptureReader::ScreenCaptureReader(const ScreenC
+ 	}
+ 	ValidateSettings();
+ 	PopulateInfo();
+-#if defined(__linux__) || defined(_WIN32)
++#if defined(__unix__) || defined(_WIN32)
+ 	if (settings.capture_audio) {
+ 		system_audio = std::make_unique<SystemAudioCapture>(settings);
+ 	}
+ #endif
+ 	if (UsesWaylandPortal()) {
+-	#if defined(HAVE_WAYLAND_CAPTURE_PLUGIN) && defined(__linux__)
++	#if defined(HAVE_WAYLAND_CAPTURE_PLUGIN) && defined(__unix__)
+ 		std::string module_error;
+ 		backend_module = load_wayland_capture_backend(module_error);
+ 		if (!backend_module) {
+@@ -663,7 +663,7 @@ ScreenCaptureReader::~ScreenCaptureReader()
+ ScreenCaptureReader::~ScreenCaptureReader()
+ {
+ 	Close();
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	backend_reader.reset();
+ 	if (backend_module) {
+ 		dlclose(backend_module);
+@@ -680,7 +680,7 @@ bool ScreenCaptureReader::IsBackendSupported(ScreenCap
+ 
+ bool ScreenCaptureReader::IsBackendSupported(ScreenCaptureBackend backend)
+ {
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	if (backend == SCREEN_CAPTURE_X11 || backend == SCREEN_CAPTURE_AUTO) {
+ 		return true;
+ 	}
+@@ -702,7 +702,7 @@ bool ScreenCaptureReader::IsSystemAudioSupported(Scree
+ 
+ bool ScreenCaptureReader::IsSystemAudioSupported(ScreenCaptureBackend backend)
+ {
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	if (backend == SCREEN_CAPTURE_AUTO) {
+ 		backend = DefaultBackend();
+ 	}
+@@ -719,7 +719,7 @@ ScreenCaptureBackend ScreenCaptureReader::DefaultBacke
+ 
+ ScreenCaptureBackend ScreenCaptureReader::DefaultBackend()
+ {
+-#if defined(__linux__)
++#if defined(__unix__)
+ 	const char* session = std::getenv("XDG_SESSION_TYPE");
+ 	if (session && std::string(session) == "wayland" && IsBackendSupported(SCREEN_CAPTURE_WAYLAND)) {
+ 		return SCREEN_CAPTURE_WAYLAND;
+@@ -1297,7 +1297,7 @@ void ScreenCaptureReader::SetJsonValue(const Json::Val
+ 	}
+ 	ValidateSettings();
+ 	PopulateInfo();
+-#if defined(__linux__) || defined(_WIN32)
++#if defined(__unix__) || defined(_WIN32)
+ 	system_audio.reset();
+ 	if (settings.capture_audio) {
+ 		system_audio = std::make_unique<SystemAudioCapture>(settings);
diff --git a/multimedia/libopenshot/pkg-message b/multimedia/libopenshot/pkg-message
index f47d91cb3066..27093f62d63d 100644
--- a/multimedia/libopenshot/pkg-message
+++ b/multimedia/libopenshot/pkg-message
@@ -2,11 +2,6 @@
 {
   type: install
   message: <<EOM
-If OpenMP causes a problem, define the environment variable OMP_THREAD_LIMIT, set it to 1, and then run the program.
-It loses performance, but increases stability.
-
-An example
-env OMP_THREAD_LIMIT=1 openshot-qt
 EOM
 }
 ]
diff --git a/multimedia/libopenshot/pkg-plist b/multimedia/libopenshot/pkg-plist
index a19ee72397c7..7c8d1410fbfd 100644
--- a/multimedia/libopenshot/pkg-plist
+++ b/multimedia/libopenshot/pkg-plist
@@ -1,15 +1,19 @@
+include/libopenshot/AnimatedCurve.h
 include/libopenshot/AudioBufferSource.h
 include/libopenshot/AudioDevices.h
 include/libopenshot/AudioLocation.h
 include/libopenshot/AudioReaderSource.h
+include/libopenshot/AudioRecorder.h
 include/libopenshot/AudioResampler.h
 include/libopenshot/AudioWaveformer.h
 include/libopenshot/CVObjectDetection.h
+include/libopenshot/CVObjectMask.h
 include/libopenshot/CVStabilization.h
 include/libopenshot/CVTracker.h
 include/libopenshot/CacheBase.h
 include/libopenshot/CacheDisk.h
 include/libopenshot/CacheMemory.h
+include/libopenshot/CameraCaptureReader.h
 include/libopenshot/ChannelLayouts.h
 include/libopenshot/ChunkReader.h
 include/libopenshot/ChunkWriter.h
@@ -31,6 +35,7 @@ include/libopenshot/FFmpegWriter.h
 include/libopenshot/Fraction.h
 include/libopenshot/Frame.h
 include/libopenshot/FrameMapper.h
+include/libopenshot/FrameScope.h
 include/libopenshot/IdGenerator.h
 include/libopenshot/ImageReader.h
 include/libopenshot/ImageWriter.h
@@ -60,12 +65,14 @@ include/libopenshot/QtTextReader.h
 include/libopenshot/QtUtilities.h
 include/libopenshot/ReaderBase.h
 include/libopenshot/RendererBase.h
+include/libopenshot/ScreenCaptureReader.h
 include/libopenshot/Settings.h
 include/libopenshot/TextReader.h
 include/libopenshot/Timeline.h
 include/libopenshot/TimelineBase.h
 include/libopenshot/TrackedObjectBBox.h
 include/libopenshot/TrackedObjectBase.h
+include/libopenshot/WaylandBufferUtilities.h
 include/libopenshot/WriterBase.h
 include/libopenshot/ZmqLogger.h
 include/libopenshot/audio_effects/Compressor.h
@@ -79,35 +86,46 @@ include/libopenshot/audio_effects/Robotization.h
 include/libopenshot/audio_effects/STFT.h
 include/libopenshot/audio_effects/Whisperization.h
 include/libopenshot/effects/AnalogTape.h
+include/libopenshot/effects/AudioVisualization.h
 include/libopenshot/effects/Bars.h
+include/libopenshot/effects/BeatSync.h
 include/libopenshot/effects/Blur.h
 include/libopenshot/effects/Brightness.h
 include/libopenshot/effects/Caption.h
 include/libopenshot/effects/ChromaKey.h
+include/libopenshot/effects/ColorGrade.h
 include/libopenshot/effects/ColorMap.h
 include/libopenshot/effects/ColorShift.h
 include/libopenshot/effects/Crop.h
 include/libopenshot/effects/CropHelpers.h
 include/libopenshot/effects/Deinterlace.h
+include/libopenshot/effects/DenoiseImage.h
+include/libopenshot/effects/Displace.h
+include/libopenshot/effects/FilmGrain.h
+include/libopenshot/effects/Glow.h
 include/libopenshot/effects/Hue.h
 include/libopenshot/effects/LensFlare.h
 include/libopenshot/effects/Mask.h
 include/libopenshot/effects/Negate.h
 include/libopenshot/effects/ObjectDetection.h
+include/libopenshot/effects/ObjectMask.h
 include/libopenshot/effects/Outline.h
 include/libopenshot/effects/Pixelate.h
 include/libopenshot/effects/Saturation.h
+include/libopenshot/effects/Shadow.h
 include/libopenshot/effects/Sharpen.h
 include/libopenshot/effects/Shift.h
 include/libopenshot/effects/SphericalProjection.h
 include/libopenshot/effects/Stabilizer.h
+include/libopenshot/effects/Timer.h
 include/libopenshot/effects/Tracker.h
 include/libopenshot/effects/Wave.h
 include/libopenshot/sort_filter/Hungarian.h
 include/libopenshot/sort_filter/KalmanTracker.h
+%%WAYLAND%%lib/libopenshot-wayland-capture.so
 lib/libopenshot.so
 lib/libopenshot.so.%%VERSION%%
-lib/libopenshot.so.30
+lib/libopenshot.so.31
 %%PYTHON_SITELIBDIR%%/_openshot.so
 %%PYTHON_SITELIBDIR%%/openshot.py
 %%RUBY%%%%RUBY_VENDORARCHLIBDIR%%/openshot.so