{ lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase }: stdenv.mkDerivation rec { pname = "obs-multi-rtmp"; version = "0.2.6"; src = fetchFromGitHub { owner = "sorayuki"; repo = "obs-multi-rtmp"; rev = version; sha256 = "sha256-SMcVL54HwFIc7/wejEol2XiZhlZCMVCwHHtIKJ/CoYY="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ obs-studio qtbase ]; cmakeFlags = [ "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs" ]; dontWrapQtApps = true; # obs-studio expects the shared object to be located in bin/32bit or bin/64bit # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48 postInstall = let pluginPath = { i686-linux = "bin/32bit"; x86_64-linux = "bin/64bit"; }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}"); in '' mkdir -p $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} ln -s $out/lib/obs-plugins/obs-multi-rtmp.so $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} ''; meta = with lib; { homepage = "https://github.com/sorayuki/obs-multi-rtmp/"; changelog = "https://github.com/sorayuki/obs-multi-rtmp/releases/tag/${version}"; description = "Multi-site simultaneous broadcast plugin for OBS Studio"; license = licenses.gpl2Only; maintainers = with maintainers; [ jk ]; platforms = [ "x86_64-linux" "i686-linux" ]; }; }