summary refs log tree commit diff
path: root/pkgs/applications/video/obs-studio/v4l2sink.nix
blob: 19cfbf14076ed21bc77ef92b73e9cc078a05b05d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ stdenv, fetchFromGitHub
, cmake, pkgconfig, wrapQtAppsHook
, obs-studio }:

stdenv.mkDerivation {
  pname = "obs-v4l2sink-unstable";
  version = "20181012";

  src = fetchFromGitHub {
    owner = "CatxFish";
    repo = "obs-v4l2sink";
    rev = "1ec3c8ada0e1040d867ce567f177be55cd278378";
    sha256 = "03ah91cm1qz26k90mfx51l0d598i9bcmw39lkikjs1msm4c9dfxx";
  };

  nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
  buildInputs = [ obs-studio ];

  patches = [
    ./0001-find-ObsPluginHelpers.cmake-in-the-obs-src.patch
  ];

  cmakeFlags = [
    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
    "-DLIBOBS_LIBRARIES=${obs-studio}/lib"
    "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
    "-DOBS_SRC=${obs-studio.src}"
  ];

  installPhase = ''
    mkdir -p $out/share/obs/obs-plugins/v4l2sink/bin/64bit
    cp ./v4l2sink.so $out/share/obs/obs-plugins/v4l2sink/bin/64bit/
  '';

  meta = with stdenv.lib; {
    description = "obs studio output plugin for Video4Linux2 device";
    homepage = "https://github.com/CatxFish/obs-v4l2sink";
    maintainers = with maintainers; [ colemickens ];
    license = licenses.gpl2;
    platforms = [ "x86_64-linux" ];
  };
}