diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 539314867ab9..9c0d8c6b0047 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -1,9 +1,12 @@ { stdenv , fetchFromGitHub , cmake +, fdk_aac , ffmpeg , jansson , libxkbcommon +, libpthreadstubs +, libXdmcp , qtbase , qtx11extras , libv4l @@ -11,6 +14,7 @@ , curl , xorg , makeWrapper +, pkgconfig , alsaSupport ? false , alsaLib @@ -22,23 +26,29 @@ let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { name = "obs-studio-${version}"; - version = "18.0.1"; + version = "18.0.2"; src = fetchFromGitHub { owner = "jp9000"; repo = "obs-studio"; - rev = "624aa2a5"; - sha256 = "1bs82rqyq7wjjg99mh23ap8z5bmrhjfnza5iyjx808fzqc0bgzaj"; + rev = "26c28b45"; + sha256 = "06rr70z2p2l8prxmd075pnlc759ddlqn3jprn8ns148x6s2vqik2"; }; + patches = [ ./find-xcb.patch ]; + nativeBuildInputs = [ cmake + pkgconfig ]; buildInputs = [ curl + fdk_aac ffmpeg jansson libv4l libxkbcommon + libpthreadstubs + libXdmcp qtbase qtx11extras x264 @@ -65,7 +75,7 @@ in stdenv.mkDerivation rec { video content, efficiently ''; homepage = "https://obsproject.com"; - maintainers = with maintainers; [ jb55 ]; + maintainers = with maintainers; [ jb55 MP2E ]; license = licenses.gpl2; platforms = with platforms; linux; }; diff --git a/pkgs/applications/video/obs-studio/find-xcb.patch b/pkgs/applications/video/obs-studio/find-xcb.patch new file mode 100644 index 000000000000..c45aba4ce2f0 --- /dev/null +++ b/pkgs/applications/video/obs-studio/find-xcb.patch @@ -0,0 +1,31 @@ +diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt +index cd2b80e1..7d829cdb 100644 +--- a/libobs/CMakeLists.txt ++++ b/libobs/CMakeLists.txt +@@ -15,6 +15,7 @@ if(UNIX) + find_package(DBus QUIET) + if (NOT APPLE) + find_package(X11_XCB REQUIRED) ++ find_package(XCB REQUIRED) + endif() + else() + set(HAVE_DBUS "0") +@@ -161,12 +162,15 @@ elseif(UNIX) + endif() + + include_directories( +- ${X11_XCB_INCLUDE_DIRS}) ++ ${X11_XCB_INCLUDE_DIRS} ++ ${XCB_INCLUDE_DIRS}) + add_definitions( +- ${X11_XCB_DEFINITIONS}) ++ ${X11_XCB_DEFINITIONS} ++ ${XCB_DEFINITIONS}) + set(libobs_PLATFORM_DEPS + ${libobs_PLATFORM_DEPS} +- ${X11_XCB_LIBRARIES}) ++ ${X11_XCB_LIBRARIES} ++ ${XCB_LIBRARIES}) + + if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + # use the sysinfo compatibility library on bsd