diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index a7df864992f0..1efce2db6704 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -950,6 +950,14 @@
mariadb if possible.
+
+
+ obs-studio hase been updated to version 28.
+ If you have packaged custom plugins, check if they are
+ compatible. obs-websocket has been
+ integrated into obs-studio.
+
+
signald has been bumped to
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 7491e0d10185..10a1240ede03 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -288,6 +288,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- `percona-server56` has been removed. Please migrate to `mysql` or `mariadb` if possible.
+- `obs-studio` hase been updated to version 28. If you have packaged custom plugins, check if they are compatible. `obs-websocket` has been integrated into `obs-studio`.
+
- `signald` has been bumped to `0.23.0`. For the upgrade, a migration process is necessary. It can be
done by running a command like this before starting `signald.service`:
diff --git a/pkgs/applications/video/obs-studio/27.nix b/pkgs/applications/video/obs-studio/27.nix
deleted file mode 100644
index 7be6f46b9d9d..000000000000
--- a/pkgs/applications/video/obs-studio/27.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ 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
deleted file mode 100644
index 6a6f688bec0b..000000000000
--- a/pkgs/applications/video/obs-studio/28.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ callPackage
-, libajantv2
-, librist
-, srt
-, qtwayland
-, ...
-} @ args:
-
-callPackage ./generic.nix (args // {
- version = "28.1.2";
- sha256 = "sha256-M5UEOtdzXBVY0UGfwWx3MsM28bJ1EcVPl8acWXWV0lg=";
- 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/generic.nix b/pkgs/applications/video/obs-studio/default.nix
similarity index 91%
rename from pkgs/applications/video/obs-studio/generic.nix
rename to pkgs/applications/video/obs-studio/default.nix
index e638cacd06d9..fb4ffe93a9e8 100644
--- a/pkgs/applications/video/obs-studio/generic.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -1,9 +1,4 @@
-{ version
-, sha256
-, extraPatches ? [ ]
-, extraBuildInputs ? [ ]
-, extraCMakeFlags ? [ ]
-, config
+{ config
, lib
, stdenv
, fetchFromGitHub
@@ -41,6 +36,10 @@
, pipewireSupport ? stdenv.isLinux
, pipewire
, libdrm
+, libajantv2
+, librist
+, srt
+, qtwayland
, wrapQtAppsHook
, ...
}:
@@ -51,20 +50,21 @@ let
in
stdenv.mkDerivation rec {
pname = "obs-studio";
- inherit version;
+ version = "28.1.2";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = version;
- inherit sha256;
+ sha256 = "sha256-M5UEOtdzXBVY0UGfwWx3MsM28bJ1EcVPl8acWXWV0lg=";
fetchSubmodules = true;
};
patches = [
# Lets obs-browser build against CEF 90.1.0+
./Enable-file-access-and-universal-access-for-file-URL.patch
- ] ++ extraPatches;
+ ./Provide-runtime-plugin-destination-as-relative-path.patch
+ ];
nativeBuildInputs = [
addOpenGLRunpath
@@ -94,8 +94,11 @@ stdenv.mkDerivation rec {
libvlc
mbedtls
pciutils
+ libajantv2
+ librist
+ srt
+ qtwayland
]
- ++ extraBuildInputs
++ optionals scriptingSupport [ luajit python3 ]
++ optional alsaSupport alsa-lib
++ optional pulseaudioSupport libpulseaudio
@@ -123,7 +126,8 @@ stdenv.mkDerivation rec {
# Add support for browser source
"-DBUILD_BROWSER=ON"
"-DCEF_ROOT_DIR=../../cef"
- ] ++ extraCMakeFlags;
+ "-DENABLE_JACK=ON"
+ ];
dontWrapGApps = true;
preFixup = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bd4d2791c720..f97f65a6ae49 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -30962,16 +30962,10 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Foundation;
};
- obs-studio27 = libsForQt5.callPackage ../applications/video/obs-studio/27.nix {
+ obs-studio = qt6Packages.callPackage ../applications/video/obs-studio {
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 {});
wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};