From 347f73aeb2149652c872c9db403942681e27923e Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Tue, 29 May 2018 12:10:32 +1000 Subject: [PATCH] obs-linuxbrowser: init at 0.3.1 --- .../video/obs-studio/linuxbrowser.nix | 48 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/applications/video/obs-studio/linuxbrowser.nix diff --git a/pkgs/applications/video/obs-studio/linuxbrowser.nix b/pkgs/applications/video/obs-studio/linuxbrowser.nix new file mode 100644 index 00000000000..289c0ffd707 --- /dev/null +++ b/pkgs/applications/video/obs-studio/linuxbrowser.nix @@ -0,0 +1,48 @@ +# We don't have a wrapper which can supply obs-studio plugins so you have to +# somewhat manually install this: + +# nix-env -f . -iA obs-linuxbrowser +# mkdir -p ~/.config/obs-studio/plugins +# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-linuxbrowser ~/.config/obs-studio/plugins/ + +{ stdenv, fetchFromGitHub, obs-studio, cmake, libcef +}: + +stdenv.mkDerivation rec { + name = "obs-linuxbrowser-${version}"; + version = "0.3.1"; + src = fetchFromGitHub { + owner = "bazukas"; + repo = "obs-linuxbrowser"; + rev = version; + sha256 = "0dql7wxyhksqa08j1dn5d09v2jwhgywc1p7psifhhvh97rkp4z7j"; + }; + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio ]; + postUnpack = '' + mkdir -p cef/Release cef/Resources cef/libcef_dll_wrapper/ + for i in ${libcef}/share/cef/*; do + ln -s $i cef/Release/ + ln -s $i cef/Resources/ + done + ln -s ${libcef}/lib/libcef.so cef/Release/ + ln -s ${libcef}/lib/libcef_dll_wrapper.a cef/libcef_dll_wrapper/ + ln -s ${libcef}/include cef/ + ''; + cmakeFlags = [ + "-DCEF_DIR=../../cef" + "-DOBS_INCLUDE=${obs-studio}/include/obs" + ]; + installPhase = '' + mkdir -p $out/share/obs/obs-plugins + cp -r build/obs-linuxbrowser $out/share/obs/obs-plugins/ + ''; + + meta = with stdenv.lib; { + description = "Browser source plugin for obs-studio based on Chromium Embedded Framework"; + homepage = https://github.com/bazukas/obs-linuxbrowser; + maintainers = with maintainers; [ puffnfresh ]; + license = licenses.gpl2; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ca9ee647f90..fb3b5eef25e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17204,6 +17204,8 @@ with pkgs; oblogout = callPackage ../tools/X11/oblogout { }; + obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { }; + obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { alsaSupport = stdenv.isLinux; pulseaudioSupport = config.pulseaudio or true;