obs-studio-plugins.obs-multi-rtmp: add OBS28 support

Co-authored-by: Raphael Robatsch <raphael-git@tapesoftware.net>

+61 -6
+2 -2
pkgs/applications/video/obs-studio/plugins/default.nix
··· 1 - { callPackage, libsForQt5, pkgsi686Linux }: 1 + { callPackage, libsForQt5, qt6Packages, pkgsi686Linux }: 2 2 3 3 # When adding new plugins: 4 4 # - Respect alphabetical order. On diversion, file a PR. ··· 16 16 17 17 obs-move-transition = callPackage ./obs-move-transition.nix { }; 18 18 19 - obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix { }; 19 + obs-multi-rtmp = qt6Packages.callPackage ./obs-multi-rtmp { }; 20 20 21 21 obs-ndi = libsForQt5.callPackage ./obs-ndi.nix { }; 22 22
+5 -4
pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "obs-multi-rtmp"; 5 - version = "0.2.8.1"; 5 + version = "0.2.8.1-OBS28"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "sorayuki"; 9 9 repo = "obs-multi-rtmp"; 10 10 rev = version; 11 - sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0="; 11 + sha256 = "sha256-1W+c8Y0AmtKQmCIg8IDAaYYStQzDpZRuqw3vZEY5ncU="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ]; 15 15 buildInputs = [ obs-studio qtbase ]; 16 16 17 - cmakeFlags = [ 18 - "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs" 17 + patches = [ 18 + # Patch cmake file to link against the obs build output, instead of its sources 19 + ./fix-build.patch 19 20 ]; 20 21 21 22 dontWrapQtApps = true;
+54
pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/fix-build.patch
··· 1 + From 72aeddb52c2b656bfec918097ad07a0ff092008b Mon Sep 17 00:00:00 2001 2 + From: Raphael Robatsch <raphael-git@tapesoftware.net> 3 + Date: Thu, 13 Oct 2022 21:34:21 +0200 4 + Subject: [PATCH] Link against OBS public interface instead of sources 5 + 6 + --- 7 + CMakeLists.txt | 22 ++++------------------ 8 + 1 file changed, 4 insertions(+), 18 deletions(-) 9 + 10 + diff --git a/CMakeLists.txt b/CMakeLists.txt 11 + index 27e20f8..8725c5b 100644 12 + --- a/CMakeLists.txt 13 + +++ b/CMakeLists.txt 14 + @@ -65,15 +65,9 @@ if (WIN32) 15 + "/def:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.def" 16 + "/out:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.lib" 17 + ) 18 + -elseif (APPLE) 19 + - # macOS 20 + - find_library(_LIB_OBS "${LIB_OBS}.0.dylib" PATHS ${OBS_BIN_DIR} REQUIRED) 21 + - set(LIB_OBS "${_LIB_OBS}") 22 + -elseif (UNIX) 23 + - # Linux 24 + - find_package(LibObs REQUIRED) 25 + else () 26 + - message(FATAL_ERROR "Unsupported OS!") 27 + + find_package(libobs REQUIRED) 28 + + find_package(obs-frontend-api REQUIRED) 29 + endif () 30 + 31 + 32 + @@ -96,18 +90,10 @@ if (WIN32) 33 + "${CMAKE_CURRENT_BINARY_DIR}/version.rc" 34 + ) 35 + endif () 36 + -target_include_directories(obs-multi-rtmp PRIVATE 37 + - "${OBS_SRC_DIR}/libobs" 38 + - "${OBS_SRC_DIR}/UI/obs-frontend-api" 39 + -) 40 + -target_link_directories(obs-multi-rtmp PRIVATE 41 + - "${CMAKE_CURRENT_BINARY_DIR}" 42 + - ${OBS_BIN_DIR} 43 + -) 44 + target_link_libraries(obs-multi-rtmp PRIVATE 45 + Qt6::Widgets 46 + - ${LIB_OBS} 47 + - obs-frontend-api 48 + + OBS::libobs 49 + + OBS::obs-frontend-api 50 + ) 51 + 52 + if (WIN32) 53 + -- 54 + 2.37.3