2019-10-08 16:05:57 +02:00
|
|
|
# (the following is somewhat lifted from ./linuxbrowser.nix)
|
|
|
|
# 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-wlrobs
|
|
|
|
# mkdir -p ~/.config/obs-studio/plugins/wlrobs/bin/64bit
|
|
|
|
# ln -s ~/.nix-profile/share/obs/obs-plugins/wlrobs/bin/64bit/libwlrobs.so ~/.config/obs-studio/plugins/wlrobs/bin/64bit
|
2020-01-12 16:08:10 +01:00
|
|
|
{ stdenv, fetchhg, wayland, obs-studio
|
|
|
|
, meson, ninja, pkgconfig, libX11
|
|
|
|
, dmabufSupport ? false, libdrm ? null, libGL ? null}:
|
|
|
|
|
|
|
|
assert dmabufSupport -> libdrm != null && libGL != null;
|
|
|
|
|
2019-10-08 16:05:57 +02:00
|
|
|
stdenv.mkDerivation {
|
|
|
|
pname = "obs-wlrobs";
|
2020-01-12 16:08:10 +01:00
|
|
|
version = "20200111";
|
2019-10-08 16:05:57 +02:00
|
|
|
|
|
|
|
src = fetchhg {
|
|
|
|
url = "https://hg.sr.ht/~scoopta/wlrobs";
|
2020-01-12 16:08:10 +01:00
|
|
|
rev = "8345bf985e390896d89e35e2feae1fa37722f4be";
|
|
|
|
sha256 = "0j01wkhwhhla4qx8mwyrq2qj9cfhxksxaq2k8rskmy2qbdkvvdpb";
|
2019-10-08 16:05:57 +02:00
|
|
|
};
|
|
|
|
|
2020-01-12 16:08:10 +01:00
|
|
|
buildInputs = [ libX11 libGL libdrm meson ninja pkgconfig wayland obs-studio ];
|
2019-10-08 16:05:57 +02:00
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/share/obs/obs-plugins/wlrobs/bin/64bit
|
|
|
|
cp ./libwlrobs.so $out/share/obs/obs-plugins/wlrobs/bin/64bit/
|
|
|
|
'';
|
|
|
|
|
2020-01-12 16:08:10 +01:00
|
|
|
mesonFlags = [
|
|
|
|
"-Duse_dmabuf=${if dmabufSupport then "true" else "false"}"
|
|
|
|
];
|
|
|
|
|
2019-10-08 16:05:57 +02:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors";
|
|
|
|
homepage = https://hg.sr.ht/~scoopta/wlrobs;
|
|
|
|
maintainers = with maintainers; [ grahamc ];
|
|
|
|
license = licenses.gpl3;
|
|
|
|
platforms = [ "x86_64-linux" ];
|
|
|
|
};
|
|
|
|
}
|