obs-studio-plugins.obs-urlsource: init at 0.3.7 (#409015)

authored by

Peder Bergebakken Sundt and committed by
GitHub
e5fa5a00 0cfac976

+100
+2
pkgs/applications/video/obs-studio/plugins/default.nix
··· 84 84 85 85 obs-tuna = qt6Packages.callPackage ./obs-tuna { }; 86 86 87 + obs-urlsource = qt6Packages.callPackage ./obs-urlsource.nix { }; 88 + 87 89 obs-vaapi = callPackage ./obs-vaapi { }; 88 90 89 91 obs-vertical-canvas = qt6Packages.callPackage ./obs-vertical-canvas.nix { };
+98
pkgs/applications/video/obs-studio/plugins/obs-urlsource.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + cmake, 6 + curl, 7 + git, 8 + obs-studio, 9 + pugixml, 10 + qtbase, 11 + writeScript, 12 + }: 13 + 14 + let 15 + websocketpp = fetchFromGitHub { 16 + owner = "zaphoyd"; 17 + repo = "websocketpp"; 18 + rev = "0.8.2"; 19 + sha256 = "sha256-9fIwouthv2GcmBe/UPvV7Xn9P2o0Kmn2hCI4jCh0hPM="; 20 + }; 21 + 22 + lexbor = fetchFromGitHub { 23 + owner = "lexbor"; 24 + repo = "lexbor"; 25 + rev = "v2.3.0"; 26 + sha256 = "sha256-s5fZWBhXC0fuHIUk1YX19bHagahOtSLlKQugyHCIlgI="; 27 + }; 28 + 29 + asio = fetchFromGitHub { 30 + owner = "chriskohlhoff"; 31 + repo = "asio"; 32 + rev = "asio-1-28-0"; 33 + sha256 = "sha256-dkiUdR8FgDnnqdptaJjE4rvNlgpC5HZl6SQQ5Di2C2s="; 34 + }; 35 + in 36 + stdenv.mkDerivation rec { 37 + pname = "obs-urlsource"; 38 + version = "0.3.7"; 39 + 40 + src = fetchFromGitHub { 41 + owner = "locaal-ai"; 42 + repo = "obs-urlsource"; 43 + rev = version; 44 + sha256 = "sha256-ZWwD8jJkL1rAUeanD4iChcgpnJaC5pPo36Ot36XOSx8="; 45 + fetchSubmodules = true; 46 + }; 47 + 48 + nativeBuildInputs = [ 49 + cmake 50 + git 51 + ]; 52 + buildInputs = [ 53 + curl 54 + obs-studio 55 + pugixml 56 + qtbase 57 + ]; 58 + dontWrapQtApps = true; 59 + 60 + # Update websocketpp and lexabor configurations to use pre-fetched sources 61 + postPatch = '' 62 + sed -i 's|URL .*|SOURCE_DIR "${websocketpp}"\n DOWNLOAD_COMMAND ""|' cmake/FetchWebsocketpp.cmake 63 + sed -i \ 64 + -e 's|GIT_REPOSITORY .*|SOURCE_DIR "${lexbor}"|' \ 65 + -e 's|GIT_TAG .*|DOWNLOAD_COMMAND ""\n UPDATE_COMMAND ""|' \ 66 + cmake/BuildLexbor.cmake 67 + ''; 68 + 69 + postInstall = '' 70 + rm -rf $out/lib/cmake 71 + ''; 72 + 73 + NIX_CFLAGS_COMPILE = [ 74 + "-I${websocketpp}" 75 + "-I${asio}/asio/include" 76 + ]; 77 + 78 + cmakeFlags = [ 79 + # Prevent deprecation warnings from failing the build 80 + (lib.cmakeOptionType "string" "CMAKE_CXX_FLAGS" "-Wno-error=deprecated-declarations") 81 + (lib.cmakeBool "ENABLE_QT" true) 82 + (lib.cmakeBool "USE_SYSTEM_CURL" true) 83 + (lib.cmakeBool "USE_SYSTEM_PUGIXML" true) 84 + (lib.cmakeBool "CMAKE_COMPILE_WARNING_AS_ERROR" false) 85 + "-Wno-dev" 86 + ]; 87 + 88 + meta = with lib; { 89 + description = "OBS plugin to fetch data from a URL or file, connect to an API or AI service, parse responses and display text, image or audio on scene"; 90 + homepage = "https://github.com/locaal-ai/obs-urlsource"; 91 + maintainers = with maintainers; [ flexiondotorg ]; 92 + license = licenses.gpl2Only; 93 + platforms = [ 94 + "x86_64-linux" 95 + "i686-linux" 96 + ]; 97 + }; 98 + }