diff options
author | Sebastian Sellmeier <mail@sebastian-sellmeier.de> | 2022-10-05 12:36:25 +0200 |
---|---|---|
committer | Sebastian Sellmeier <mail@sebastian-sellmeier.de> | 2022-10-22 22:13:31 +0200 |
commit | 9f7914afa2cd3ddf95621731e486eff2d3993c14 (patch) | |
tree | 5a9b1a3420bc01d7e2e5388aaecd4817dfcaac2b /pkgs/applications/video | |
parent | 52593f7a50f2f80c087398e5cb50e042c563ca56 (diff) |
obs-studio: add 28.0.3 (parallel to 27.x)
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/obs-studio/27.nix | 7 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/28.nix | 22 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch | 26 | ||||
-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.nix | 2 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/plugins/obs-websocket.nix | 63 |
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 0000000000000..7be6f46b9d9d1 --- /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 0000000000000..edf40b14879c6 --- /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 0000000000000..b39cb04a899c9 --- /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 044967b2e526b..e638cacd06d97 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 b9be0a2b6eb1e..a661ce0b9a3cf 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 d747268cc5567..0000000000000 --- 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" ]; - }; -} |