summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/video/obs-studio
diff options
context:
space:
mode:
authorSebastian Sellmeier <mail@sebastian-sellmeier.de>2022-10-05 12:36:25 +0200
committerSebastian Sellmeier <mail@sebastian-sellmeier.de>2022-10-22 22:13:31 +0200
commit9f7914afa2cd3ddf95621731e486eff2d3993c14 (patch)
tree5a9b1a3420bc01d7e2e5388aaecd4817dfcaac2b /pkgs/applications/video/obs-studio
parent52593f7a50f2f80c087398e5cb50e042c563ca56 (diff)
obs-studio: add 28.0.3 (parallel to 27.x)
Diffstat (limited to 'pkgs/applications/video/obs-studio')
-rw-r--r--pkgs/applications/video/obs-studio/27.nix7
-rw-r--r--pkgs/applications/video/obs-studio/28.nix22
-rw-r--r--pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch26
-rw-r--r--pkgs/applications/video/obs-studio/generic.nix (renamed from pkgs/applications/video/obs-studio/default.nix)24
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-websocket.nix63
6 files changed, 71 insertions, 73 deletions
diff --git a/pkgs/applications/video/obs-studio/27.nix b/pkgs/applications/video/obs-studio/27.nix
new file mode 100644
index 000000000000..7be6f46b9d9d
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/27.nix
@@ -0,0 +1,7 @@
+{ callPackage, qtx11extras, ... } @ args:
+
+callPackage ./generic.nix (args // {
+ version = "27.2.4";
+ sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
+ extraBuildInputs = [ qtx11extras ];
+})
diff --git a/pkgs/applications/video/obs-studio/28.nix b/pkgs/applications/video/obs-studio/28.nix
new file mode 100644
index 000000000000..edf40b14879c
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/28.nix
@@ -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"
+ ];
+})
diff --git a/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch b/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
new file mode 100644
index 000000000000..b39cb04a899c
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
@@ -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
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/generic.nix
index 044967b2e526..e638cacd06d9 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/generic.nix
@@ -1,7 +1,11 @@
-{ config
+{ version
+, sha256
+, extraPatches ? [ ]
+, extraBuildInputs ? [ ]
+, extraCMakeFlags ? [ ]
+, config
, lib
, stdenv
-, mkDerivation
, fetchFromGitHub
, addOpenGLRunpath
, cmake
@@ -13,7 +17,6 @@
, libpthreadstubs
, libXdmcp
, qtbase
-, qtx11extras
, qtsvg
, speex
, libv4l
@@ -38,34 +41,37 @@
, pipewireSupport ? stdenv.isLinux
, pipewire
, libdrm
+, wrapQtAppsHook
+, ...
}:
let
inherit (lib) optional optionals;
in
-mkDerivation rec {
+stdenv.mkDerivation rec {
pname = "obs-studio";
- version = "27.2.4";
+ inherit version;
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = version;
- sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
+ inherit sha256;
fetchSubmodules = true;
};
patches = [
# Lets obs-browser build against CEF 90.1.0+
./Enable-file-access-and-universal-access-for-file-URL.patch
- ];
+ ] ++ extraPatches;
nativeBuildInputs = [
addOpenGLRunpath
cmake
pkg-config
wrapGAppsHook
+ wrapQtAppsHook
]
++ optional scriptingSupport swig;
@@ -81,7 +87,6 @@ mkDerivation rec {
libpthreadstubs
libXdmcp
qtbase
- qtx11extras
qtsvg
speex
wayland
@@ -90,6 +95,7 @@ mkDerivation rec {
mbedtls
pciutils
]
+ ++ extraBuildInputs
++ optionals scriptingSupport [ luajit python3 ]
++ optional alsaSupport alsa-lib
++ optional pulseaudioSupport libpulseaudio
@@ -117,7 +123,7 @@ mkDerivation rec {
# Add support for browser source
"-DBUILD_BROWSER=ON"
"-DCEF_ROOT_DIR=../../cef"
- ];
+ ] ++ extraCMakeFlags;
dontWrapGApps = true;
preFixup = ''
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index b9be0a2b6eb1..a661ce0b9a3c 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -28,7 +28,7 @@
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 { };
}
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
deleted file mode 100644
index d747268cc556..000000000000
--- a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
+++ /dev/null
@@ -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" ];
- };
-}