diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index 7c92feb1cb20..1ae2ddc9724f 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -78,6 +78,8 @@ obs-websocket = qt6Packages.callPackage ./obs-websocket.nix { }; # Websocket 4.x compatibility for OBS Studio 28+ + obs-webkitgtk = callPackage ./obs-webkitgtk.nix { }; + wlrobs = callPackage ./wlrobs.nix { }; waveform = callPackage ./waveform { }; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix b/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix new file mode 100644 index 000000000000..fcf426bde635 --- /dev/null +++ b/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, obs-studio +, webkitgtk +, glib-networking +, meson +, cmake +, pkg-config +, ninja +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "obs-webkitgtk"; + version = "unstable-2023-11-10"; + + src = fetchFromGitHub { + owner = "fzwoch"; + repo = "obs-webkitgtk"; + rev = "ddf230852c3c338e69b248bdf453a0630f1298a7"; + hash = "sha256-DU2w9dRgqWniTE76KTAtFdxIN82VKa/CS6ZdfNcTMto="; + }; + + buildInputs = [ + obs-studio + webkitgtk + glib-networking + ]; + + nativeBuildInputs = [ + meson + cmake + pkg-config + ninja + wrapGAppsHook + ]; + + postPatch = '' + substituteInPlace ./obs-webkitgtk.c \ + --replace 'g_file_read_link("/proc/self/exe", NULL)' "g_strdup(\"$out/lib/obs-plugins\")" + ''; + + meta = with lib; { + description = "Yet another OBS Studio browser source"; + homepage = "https://github.com/fzwoch/obs-webkitgtk"; + maintainers = with maintainers; [ j-hui ]; + license = licenses.gpl2Only; + platforms = platforms.linux; + }; +}