summaryrefslogtreecommitdiff
path: root/nix-obs-qmlview/obs-qmlview.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix-obs-qmlview/obs-qmlview.nix')
-rw-r--r--nix-obs-qmlview/obs-qmlview.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/nix-obs-qmlview/obs-qmlview.nix b/nix-obs-qmlview/obs-qmlview.nix
new file mode 100644
index 0000000..8dba42a
--- /dev/null
+++ b/nix-obs-qmlview/obs-qmlview.nix
@@ -0,0 +1,46 @@
+let
+ nixpkgs = import <nixpkgs> {};
+in
+with nixpkgs;
+stdenv.mkDerivation rec {
+ pname = "obs-qmlview";
+ version = "git";
+
+ src = fetchFromGitHub {
+ owner = "danieloneill";
+ repo = "obs-qmlview";
+ rev = "15248037ce735876481aef962e0f6645f3c527a6";
+ sha256 = "0s09pwi3pd00z83kalna764yn21c901j6rpvlj8q524p0rx4sg3f";
+ };
+
+ patches = [ ./fix-qmlview.patch ];
+
+ nativeBuildInputs = [ cmake qt515.qttools pkg-config ];
+ buildInputs = with qt515; [
+ obs-studio
+ qtbase
+ qtdeclarative
+ qtwebengine
+ ];
+
+ cmakeFlags = with lib; [
+ "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
+ "-Wno-dev"
+ ];
+
+ preConfigure = ''
+ cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
+ '';
+
+ dontWrapQtApps = true;
+
+ 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-qmlview/${pluginPath}
+ ln -s $out/lib/obs-plugins/obs-qmlview.so $out/share/obs/obs-plugins/obs-qmlview/${pluginPath}
+ '';
+}