about summary refs log tree commit diff
path: root/pkgs/applications/video/obs-studio
diff options
context:
space:
mode:
author06kellyjac <dev@j-k.io>2021-04-04 22:22:21 +0100
committer06kellyjac <dev@j-k.io>2021-04-08 22:20:28 +0100
commit3141ba7b5033fb6b5f6ff13e2d30e7d64fa14beb (patch)
tree81b288d45110fb88f8b26f66f933f8e0269ecd4f /pkgs/applications/video/obs-studio
parent540199893d51d13f59364471ac245c0a4475d29f (diff)
obs-multi-rtmp: init at 0.2.6
Diffstat (limited to 'pkgs/applications/video/obs-studio')
-rw-r--r--pkgs/applications/video/obs-studio/obs-multi-rtmp.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix
new file mode 100644
index 0000000000000..f716d93a36034
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix
@@ -0,0 +1,43 @@
+{ 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" ];
+  };
+}