diff options
Diffstat (limited to 'nix-obs-qmlview/obs-qmlview.nix')
-rw-r--r-- | nix-obs-qmlview/obs-qmlview.nix | 46 |
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} + ''; +} |