diff options
-rw-r--r-- | pkgs/applications/video/obs-studio/fix-search-path.patch | 13 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/obs-ndi.nix | 39 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/applications/video/obs-studio/fix-search-path.patch b/pkgs/applications/video/obs-studio/fix-search-path.patch new file mode 100644 index 000000000000..4503447ff5dc --- /dev/null +++ b/pkgs/applications/video/obs-studio/fix-search-path.patch @@ -0,0 +1,13 @@ +diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake +index ab0a3de..19c63ee 100644 +--- a/external/FindLibObs.cmake ++++ b/external/FindLibObs.cmake +@@ -95,7 +95,7 @@ if(LIBOBS_FOUND) + + set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR}) + set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB}) +- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake) ++ include(external/ObsPluginHelpers.cmake) + + # allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg) + if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES) diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/obs-ndi.nix new file mode 100644 index 000000000000..450ebf4ac20d --- /dev/null +++ b/pkgs/applications/video/obs-studio/obs-ndi.nix @@ -0,0 +1,39 @@ +# We don't have a wrapper which can supply obs-studio plugins so you have to +# somewhat manually install this: + +# nix-env -f "<nixpkgs>" -iA obs-ndi +# mkdir -p ~/.config/obs-studio/plugins +# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-ndi ~/.config/obs-studio/plugins/ + +{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5 }: + +stdenv.mkDerivation rec { + pname = "obs-ndi"; + version = "4.7.1"; + + src = fetchFromGitHub { + owner = "Palakis"; + repo = "obs-ndi"; + rev = version; + sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh"; + }; + + patches = [ ./fix-search-path.patch ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio qt5.qtbase ]; + + cmakeFlags = [ + "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs" + "-DLIBOBS_LIB=${obs-studio}/lib" + "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api" + ]; + + meta = with stdenv.lib; { + description = "Network A/V plugin for OBS Studio"; + homepage = https://github.com/Palakis/obs-ndi; + maintainers = with maintainers; [ peti ]; + license = licenses.gpl2; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6e76c5fefe5c..8c3639c5fe25 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20332,6 +20332,8 @@ in obs-wlrobs = callPackage ../applications/video/obs-studio/wlrobs.nix { }; + obs-ndi = callPackage ../applications/video/obs-studio/obs-ndi.nix { }; + octoprint = callPackage ../applications/misc/octoprint { }; octoprint-plugins = callPackage ../applications/misc/octoprint/plugins.nix { }; |