diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
commit | 80d90d9b204f7c17912740f9f414fe5d59f293ba (patch) | |
tree | 5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix | |
parent | 3a31a84c7d3e589035ad08499206aac44a81f424 (diff) | |
parent | 83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff) |
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix b/infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix new file mode 100644 index 000000000000..70985b438c6b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/video/obs-studio/obs-move-transition.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, fetchurl +, cmake +, obs-studio +}: + +stdenv.mkDerivation rec { + pname = "obs-move-transition"; + version = "2.0.2"; + + src = fetchFromGitHub { + owner = "exeldro"; + repo = "obs-move-transition"; + rev = version; + sha256 = "0kr868lxlanq0y98f2hb70y92ac2nla8khsj879kjf3z6dqdpd66"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio ]; + + cmakeFlags = with lib; [ + "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs" + "-Wno-dev" + ]; + + preConfigure = '' + cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake + ''; + + patches = [ ./rename-obs-move-transition-cmake.patch ]; + + postPatch = '' + substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>' + substituteInPlace move-value-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>' + substituteInPlace move-transition.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>' + ''; + + # obs-studio expects the shared object to be located in bin/32bit or bin/64bit + # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48 + 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/move-transition/${pluginPath} + ln -s $out/lib/obs-plugins/move-transition.so $out/share/obs/obs-plugins/move-transition/${pluginPath} + ''; + + meta = with lib; { + description = "Plugin for OBS Studio to move source to a new position during scene transition"; + homepage = "https://github.com/exeldro/obs-move-transition"; + maintainers = with maintainers; [ starcraft66 ]; + license = licenses.gpl2Plus; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} |