obs-studio: add 28.0.3 (parallel to 27.x)
This commit is contained in:
parent
52593f7a50
commit
9f7914afa2
7 changed files with 79 additions and 74 deletions
7
pkgs/applications/video/obs-studio/27.nix
Normal file
7
pkgs/applications/video/obs-studio/27.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ callPackage, qtx11extras, ... } @ args:
|
||||||
|
|
||||||
|
callPackage ./generic.nix (args // {
|
||||||
|
version = "27.2.4";
|
||||||
|
sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
|
||||||
|
extraBuildInputs = [ qtx11extras ];
|
||||||
|
})
|
22
pkgs/applications/video/obs-studio/28.nix
Normal file
22
pkgs/applications/video/obs-studio/28.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ callPackage
|
||||||
|
, libajantv2
|
||||||
|
, librist
|
||||||
|
, srt
|
||||||
|
, qtwayland
|
||||||
|
, ...
|
||||||
|
} @ args:
|
||||||
|
|
||||||
|
callPackage ./generic.nix (args // {
|
||||||
|
version = "28.0.3";
|
||||||
|
sha256 = "sha256-+4H1BjEgxqkAEvRyr2Tg3wXutnMvlYQEdT5jz644fMA=";
|
||||||
|
extraPatches = [ ./Provide-runtime-plugin-destination-as-relative-path.patch ];
|
||||||
|
extraBuildInputs = [
|
||||||
|
libajantv2
|
||||||
|
librist
|
||||||
|
srt
|
||||||
|
qtwayland
|
||||||
|
];
|
||||||
|
extraCMakeFlags = [
|
||||||
|
"-DENABLE_JACK=ON"
|
||||||
|
];
|
||||||
|
})
|
|
@ -0,0 +1,26 @@
|
||||||
|
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
|
||||||
|
index 790583cd5..763cf3548 100644
|
||||||
|
--- a/libobs/CMakeLists.txt
|
||||||
|
+++ b/libobs/CMakeLists.txt
|
||||||
|
@@ -455,6 +455,8 @@ elseif(OS_POSIX)
|
||||||
|
libobs PROPERTIES BUILD_RPATH "$<TARGET_FILE_DIR:OBS::libobs-opengl>")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+string(REGEX REPLACE "^${OBS_INSTALL_PREFIX}" "" OBS_PLUGIN_DESTINATION_RELATIVE ${OBS_PLUGIN_DESTINATION})
|
||||||
|
+
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/obsconfig.h.in
|
||||||
|
${CMAKE_BINARY_DIR}/config/obsconfig.h)
|
||||||
|
|
||||||
|
diff --git a/libobs/obsconfig.h.in b/libobs/obsconfig.h.in
|
||||||
|
index 4a664285a..5cff2ca53 100644
|
||||||
|
--- a/libobs/obsconfig.h.in
|
||||||
|
+++ b/libobs/obsconfig.h.in
|
||||||
|
@@ -13,7 +13,7 @@
|
||||||
|
#define OBS_VERSION_CANONICAL "@OBS_VERSION_CANONICAL@"
|
||||||
|
#define OBS_DATA_PATH "@OBS_DATA_PATH@"
|
||||||
|
#define OBS_INSTALL_PREFIX "@OBS_INSTALL_PREFIX@"
|
||||||
|
-#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION@"
|
||||||
|
+#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION_RELATIVE@"
|
||||||
|
#define OBS_QT_VERSION @_QT_VERSION@
|
||||||
|
|
||||||
|
#cmakedefine LINUX_PORTABLE
|
|
@ -1,7 +1,11 @@
|
||||||
{ config
|
{ version
|
||||||
|
, sha256
|
||||||
|
, extraPatches ? [ ]
|
||||||
|
, extraBuildInputs ? [ ]
|
||||||
|
, extraCMakeFlags ? [ ]
|
||||||
|
, config
|
||||||
, lib
|
, lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, mkDerivation
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, addOpenGLRunpath
|
, addOpenGLRunpath
|
||||||
, cmake
|
, cmake
|
||||||
|
@ -13,7 +17,6 @@
|
||||||
, libpthreadstubs
|
, libpthreadstubs
|
||||||
, libXdmcp
|
, libXdmcp
|
||||||
, qtbase
|
, qtbase
|
||||||
, qtx11extras
|
|
||||||
, qtsvg
|
, qtsvg
|
||||||
, speex
|
, speex
|
||||||
, libv4l
|
, libv4l
|
||||||
|
@ -38,34 +41,37 @@
|
||||||
, pipewireSupport ? stdenv.isLinux
|
, pipewireSupport ? stdenv.isLinux
|
||||||
, pipewire
|
, pipewire
|
||||||
, libdrm
|
, libdrm
|
||||||
|
, wrapQtAppsHook
|
||||||
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) optional optionals;
|
inherit (lib) optional optionals;
|
||||||
|
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "obs-studio";
|
pname = "obs-studio";
|
||||||
version = "27.2.4";
|
inherit version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "obsproject";
|
owner = "obsproject";
|
||||||
repo = "obs-studio";
|
repo = "obs-studio";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
|
inherit sha256;
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Lets obs-browser build against CEF 90.1.0+
|
# Lets obs-browser build against CEF 90.1.0+
|
||||||
./Enable-file-access-and-universal-access-for-file-URL.patch
|
./Enable-file-access-and-universal-access-for-file-URL.patch
|
||||||
];
|
] ++ extraPatches;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
addOpenGLRunpath
|
addOpenGLRunpath
|
||||||
cmake
|
cmake
|
||||||
pkg-config
|
pkg-config
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
wrapQtAppsHook
|
||||||
]
|
]
|
||||||
++ optional scriptingSupport swig;
|
++ optional scriptingSupport swig;
|
||||||
|
|
||||||
|
@ -81,7 +87,6 @@ mkDerivation rec {
|
||||||
libpthreadstubs
|
libpthreadstubs
|
||||||
libXdmcp
|
libXdmcp
|
||||||
qtbase
|
qtbase
|
||||||
qtx11extras
|
|
||||||
qtsvg
|
qtsvg
|
||||||
speex
|
speex
|
||||||
wayland
|
wayland
|
||||||
|
@ -90,6 +95,7 @@ mkDerivation rec {
|
||||||
mbedtls
|
mbedtls
|
||||||
pciutils
|
pciutils
|
||||||
]
|
]
|
||||||
|
++ extraBuildInputs
|
||||||
++ optionals scriptingSupport [ luajit python3 ]
|
++ optionals scriptingSupport [ luajit python3 ]
|
||||||
++ optional alsaSupport alsa-lib
|
++ optional alsaSupport alsa-lib
|
||||||
++ optional pulseaudioSupport libpulseaudio
|
++ optional pulseaudioSupport libpulseaudio
|
||||||
|
@ -117,7 +123,7 @@ mkDerivation rec {
|
||||||
# Add support for browser source
|
# Add support for browser source
|
||||||
"-DBUILD_BROWSER=ON"
|
"-DBUILD_BROWSER=ON"
|
||||||
"-DCEF_ROOT_DIR=../../cef"
|
"-DCEF_ROOT_DIR=../../cef"
|
||||||
];
|
] ++ extraCMakeFlags;
|
||||||
|
|
||||||
dontWrapGApps = true;
|
dontWrapGApps = true;
|
||||||
preFixup = ''
|
preFixup = ''
|
|
@ -28,7 +28,7 @@
|
||||||
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
|
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
|
||||||
};
|
};
|
||||||
|
|
||||||
obs-websocket = libsForQt5.callPackage ./obs-websocket.nix { };
|
obs-websocket = throw "obs-websocket has been removed: Functionality has been integrated into obs-studio itself.";
|
||||||
|
|
||||||
wlrobs = callPackage ./wlrobs.nix { };
|
wlrobs = callPackage ./wlrobs.nix { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, fetchpatch
|
|
||||||
, cmake
|
|
||||||
, qtbase
|
|
||||||
, qtsvg
|
|
||||||
, obs-studio
|
|
||||||
, asio_1_10
|
|
||||||
, websocketpp
|
|
||||||
, nlohmann_json
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "obs-websocket";
|
|
||||||
|
|
||||||
# We have updated to the alpha version when OBS Studio 27.2 was
|
|
||||||
# released, because this is the only version of obs-websocket that
|
|
||||||
# builds against the new OBS Studio.
|
|
||||||
version = "5.0.0-alpha3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Palakis";
|
|
||||||
repo = "obs-websocket";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "Lr6SBj5rRTAWmn9Tnlu4Sl7SAkOCRCTP6sFWSp4xB+I=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# This patch can be dropped when obs-websocket is updated to the
|
|
||||||
# next version.
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/obsproject/obs-websocket/commit/13c7b83c34eb67b2ee80af05071d81f10d0d2997.patch";
|
|
||||||
sha256 = "TNap/T8+058vhfWzRRr4vmlblFk9tHMUNyG6Ob5PwiM=";
|
|
||||||
name = "obs-addref-werror-fix.patch";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
buildInputs = [
|
|
||||||
qtbase
|
|
||||||
qtsvg
|
|
||||||
obs-studio
|
|
||||||
asio_1_10
|
|
||||||
websocketpp
|
|
||||||
nlohmann_json
|
|
||||||
];
|
|
||||||
|
|
||||||
dontWrapQtApps = true;
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Remote-control OBS Studio through WebSockets";
|
|
||||||
homepage = "https://github.com/Palakis/obs-websocket";
|
|
||||||
maintainers = with maintainers; [ erdnaxe ];
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -30768,9 +30768,16 @@ with pkgs;
|
||||||
|
|
||||||
gnome-obfuscate = callPackage ../applications/graphics/gnome-obfuscate { };
|
gnome-obfuscate = callPackage ../applications/graphics/gnome-obfuscate { };
|
||||||
|
|
||||||
obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {
|
obs-studio27 = libsForQt5.callPackage ../applications/video/obs-studio/27.nix {
|
||||||
ffmpeg_4 = ffmpeg-full;
|
ffmpeg_4 = ffmpeg-full;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
obs-studio28 = qt6Packages.callPackage ../applications/video/obs-studio/28.nix {
|
||||||
|
ffmpeg_4 = ffmpeg-full;
|
||||||
|
};
|
||||||
|
|
||||||
|
obs-studio = obs-studio28;
|
||||||
|
|
||||||
obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
|
obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
|
||||||
wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};
|
wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue