diff options
Diffstat (limited to 'pkgs/applications/video')
31 files changed, 268 insertions, 147 deletions
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix index 287557d6f53..2bd30c9e529 100644 --- a/pkgs/applications/video/clipgrab/default.nix +++ b/pkgs/applications/video/clipgrab/default.nix @@ -1,6 +1,7 @@ { lib, fetchurl, makeDesktopItem, ffmpeg , qmake, qttools, mkDerivation , qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine +, yt-dlp }: mkDerivation rec { @@ -16,7 +17,15 @@ mkDerivation rec { buildInputs = [ ffmpeg qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ]; nativeBuildInputs = [ qmake qttools ]; - postPatch = lib.optionalString (ffmpeg != null) '' + patches = [ + ./yt-dlp-path.patch + ]; + + postPatch = '' + substituteInPlace youtube_dl.cpp \ + --replace 'QString YoutubeDl::path = QString();' \ + 'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");' + '' + lib.optionalString (ffmpeg != null) '' substituteInPlace converter_ffmpeg.cpp \ --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' diff --git a/pkgs/applications/video/clipgrab/yt-dlp-path.patch b/pkgs/applications/video/clipgrab/yt-dlp-path.patch new file mode 100644 index 00000000000..5a9a4b6dcc4 --- /dev/null +++ b/pkgs/applications/video/clipgrab/yt-dlp-path.patch @@ -0,0 +1,86 @@ +--- a/main.cpp ++++ b/main.cpp +@@ -91,14 +91,5 @@ int main(int argc, char *argv[]) + w.show(); + } + +- QTimer::singleShot(0, [=] { +- cg->getUpdateInfo(); +- QObject::connect(cg, &ClipGrab::updateInfoProcessed, [cg] { +- bool force = QSettings().value("forceYoutubeDlDownload", false).toBool(); +- if (force) QSettings().setValue("forceYoutubeDlDownload", false); +- cg->downloadYoutubeDl(force); +- }); +- }); +- + return app.exec(); + } +--- a/youtube_dl.cpp ++++ b/youtube_dl.cpp +@@ -8,52 +8,16 @@ YoutubeDl::YoutubeDl() + QString YoutubeDl::path = QString(); + + QString YoutubeDl::find(bool force) { +- if (!force && !path.isEmpty()) return path; +- +- // Prefer downloaded youtube-dl +- QString localPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "yt-dlp"); +- QProcess* process = instance(localPath, QStringList() << "--version"); +- process->start(); +- process->waitForFinished(); +- process->deleteLater(); +- if (process->state() != QProcess::NotRunning) process->kill(); +- if (process->exitCode() == QProcess::ExitStatus::NormalExit) { +- path = localPath; +- return path; +- } +- +- // Try system-wide youtube-dlp installation +- QString globalPath = QStandardPaths::findExecutable("yt-dlp"); +- process = instance(globalPath, QStringList() << "--version"); +- process->start(); +- process->waitForFinished(); +- process->deleteLater(); +- if (process->state() != QProcess::NotRunning) process->kill(); +- if (process->exitCode() == QProcess::ExitStatus::NormalExit) { +- path = globalPath; +- return path; +- } +- +- return ""; ++ // We supply yt-dlp from nixpkgs, so the downloading ++ // machinery is not needed anymore. ++ (void)force; ++ return path; + } + + QProcess* YoutubeDl::instance(QStringList arguments) { +- return instance(find(), arguments); +-} +- +-QProcess* YoutubeDl::instance(QString path, QStringList arguments) { + QProcess *process = new QProcess(); + +- QString execPath = QCoreApplication::applicationDirPath(); +- QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); +- env.insert("PATH", execPath + ":" + env.value("PATH")); +- process->setEnvironment(env.toStringList()); +- +- #if defined Q_OS_WIN +- process->setProgram(execPath + "/python/python.exe"); +- #else +- process->setProgram(QStandardPaths::findExecutable("python3")); +- #endif ++ process->setProgram(path); + + QSettings settings; + QStringList proxyArguments; +@@ -81,7 +45,7 @@ QProcess* YoutubeDl::instance(QString path, QStringList arguments) { + networkArguments << "--force-ipv4"; + } + +- process->setArguments(QStringList() << path << arguments << proxyArguments << networkArguments); ++ process->setArguments(QStringList() << arguments << proxyArguments << networkArguments); + return process; + } + diff --git a/pkgs/applications/video/droidcam/default.nix b/pkgs/applications/video/droidcam/default.nix index 066c17f1069..6aee3ab20b9 100644 --- a/pkgs/applications/video/droidcam/default.nix +++ b/pkgs/applications/video/droidcam/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "droidcam"; - version = "1.8.1"; + version = "1.8.2"; src = fetchFromGitHub { owner = "aramg"; repo = "droidcam"; rev = "v${version}"; - sha256 = "sha256-3iA7GDTiCx5vHawj8ZBFAK0BIfmxEFuQrVfL7Gi6FhM="; + sha256 = "sha256-AxJBpoiBnb+5Pq/h4giOYAeLlvOtAJT5sCwzPEKo7w4="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix index 81f3cac73e1..8d42c2b2bfd 100644 --- a/pkgs/applications/video/dvdstyler/default.nix +++ b/pkgs/applications/video/dvdstyler/default.nix @@ -3,17 +3,21 @@ , fetchurl , bison , cdrtools -, docbook5 +, docbook_xml_dtd_412 +, docbook-xsl-nons , dvdauthor , dvdplusrwtools , ffmpeg , flex , fontconfig , gettext +, glib +, gobject-introspection , libexif -, makeWrapper +, libjpeg , pkg-config -, wxGTK30 +, wrapGAppsHook +, wxGTK30-gtk3 # crash with wxGTK30 with GTK2 compat , wxSVG , xine-ui , xmlto @@ -37,43 +41,50 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ + bison + docbook_xml_dtd_412 + docbook-xsl-nons + flex + gettext + gobject-introspection pkg-config + wrapGAppsHook + xmlto + zip ]; buildInputs = [ - bison cdrtools - docbook5 dvdauthor dvdplusrwtools ffmpeg - flex fontconfig - gettext + glib libexif - makeWrapper + libjpeg wxSVG - wxGTK30 + wxGTK30-gtk3 xine-ui - xmlto - zip ] ++ optionals dvdisasterSupport [ dvdisaster ] ++ optionals udevSupport [ udev ] ++ optionals dbusSupport [ dbus ] ++ optionals thumbnailSupport [ libgnomeui ]; + enableParallelBuilding = true; - postInstall = let - binPath = makeBinPath [ + preFixup = let + binPath = makeBinPath ([ cdrtools dvdauthor dvdplusrwtools - ]; in + ] ++ optionals dvdisasterSupport [ dvdisaster ]); + in '' - wrapProgram $out/bin/dvdstyler --prefix PATH ":" "${binPath}" - ''; + gappsWrapperArgs+=( + --prefix PATH : "${binPath}" + ) + ''; - enableParallelBuilding = true; meta = with lib; { homepage = "https://www.dvdstyler.org/"; diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix index b00d2d8275b..33e1863428e 100644 --- a/pkgs/applications/video/f1viewer/default.nix +++ b/pkgs/applications/video/f1viewer/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "f1viewer"; - version = "2.4.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "SoMuchForSubtlety"; repo = pname; rev = "v${version}"; - sha256 = "7eXRUG74l9+9nU7EmDvNcHc+2pg5+/amjqtrzT60f94="; + sha256 = "sha256-cTXueIOD+OXx4WikhdNv3v/F2/f5aDicyPP7FgTU6AM="; }; - vendorSha256 = "4pQ8NT0mh3w7naHEHh2w6Csop0uitlWClZ95VlYaPW0="; + vendorSha256 = "sha256-47uLx4t0N1T3zqZ9o/su/onJEUdGXpq+iVSUaRnwW3I="; meta = with lib; { description = diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix index 41c035350d8..5e725ec01e1 100644 --- a/pkgs/applications/video/ffmpeg-normalize/default.nix +++ b/pkgs/applications/video/ffmpeg-normalize/default.nix @@ -7,11 +7,11 @@ buildPythonApplication rec { pname = "ffmpeg-normalize"; - version = "1.22.4"; + version = "1.22.5"; src = fetchPypi { inherit pname version; - sha256 = "a20978538ae9a51bdbe5ef5aa0f87ede0f8efd2817ab240980de56eac36982e3"; + sha256 = "20250fc28ce04636580577b2864e54e6bea9daf68e2d8afaeb78e131b182cd28"; }; propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ]; diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix index c5a2a313860..8b90704a535 100644 --- a/pkgs/applications/video/freetube/default.nix +++ b/pkgs/applications/video/freetube/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "freetube"; - version = "0.15.1"; + version = "0.16.0"; src = fetchurl { url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage"; - sha256 = "sha256-7jmKD6HjsTqW/SRmD4xI3uQJnwmyDgjJZRJX9XygZyU="; + sha256 = "sha256-G4lZ1lbNN8X9ocWhcuuNZGTZm9AUzuWKVm23YgsJwig="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix new file mode 100644 index 00000000000..2607ee64f70 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }: +let + drv = stdenv.mkDerivation { + pname = "controller-topology-project"; + version = "unstable-2022-01-22"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "controller-topology-project"; + rev = "e2a9bac903f21b2acfeee374070cfc97d03aba2d"; + sha256 = "sha256-o6uKxOjEYNAK27drvNOokOFPdjkOEnr49mBre9ycM0w="; + }; + + postPatch = '' + # remove addons already included in the base kodi package + rm -r addons/game.controller.default + rm -r addons/game.controller.snes + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out${addonDir} + cp -r addons/* $out${addonDir} + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/kodi-game/controller-topology-project"; + description = "Models how controllers connect to and map to each other for all gaming history"; + license = with licenses; [ odbl ]; + maintainers = teams.kodi.members; + }; + }; +in + toKodiAddon drv diff --git a/pkgs/applications/video/kodi/addons/controllers/default.nix b/pkgs/applications/video/kodi/addons/controllers/default.nix deleted file mode 100644 index 825ad5d53fc..00000000000 --- a/pkgs/applications/video/kodi/addons/controllers/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, buildKodiAddon, fetchFromGitHub, controller }: -buildKodiAddon rec { - pname = "game-controller-${controller}"; - namespace = "game.controller.${controller}"; - version = "1.0.3"; - - sourceDir = "addons/" + namespace; - - src = fetchFromGitHub { - owner = "kodi-game"; - repo = "kodi-game-controllers"; - rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18"; - sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb"; - }; - - meta = with lib; { - description = "Add support for different gaming controllers."; - platforms = platforms.all; - license = licenses.odbl; - maintainers = teams.kodi.members; - }; -} diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix index 9fc59b2d329..b16bab1b217 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "inputstream-adaptive"; namespace = "inputstream.adaptive"; - version = "19.0.1"; + version = "19.0.3"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.adaptive"; rev = "${version}-${rel}"; - sha256 = "sha256-KMEo7kXyFMEeUR/HRvXpUhwDFlWsuwYZFA6bA3W1AmY="; + sha256 = "sha256-YYIPPxM8zVIugqLz0YntVZt1N+dReH+7V1Lkeif2wIY="; }; extraNativeBuildInputs = [ gtest ]; diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix index 313456bbfa7..78b6ea5ac1d 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix @@ -3,13 +3,13 @@ buildKodiBinaryAddon rec { pname = "inputstream-ffmpegdirect"; namespace = "inputstream.ffmpegdirect"; - version = "19.0.0"; + version = "19.0.1"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.ffmpegdirect"; rev = "${version}-${rel}"; - sha256 = "sha256-qdN2tmwS6uD9wrHnKC3iNvHnA2WlJAoNhdwvw16/L0U="; + sha256 = "sha256-yVMo3cRsIww1y0jGrqRag2Bc1x98+e86AHlnY1O9klE="; }; extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ]; diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix index e64f8c60e5c..4b13e4a617e 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-hts"; namespace = "pvr.hts"; - version = "19.0.4"; + version = "19.0.6"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hts"; rev = "${version}-${rel}"; - sha256 = "sha256-WP/eaE3qO0NqN23dHkFOiOjoeKIglbbHofqnUsfxSfI="; + sha256 = "sha256-Lc3B1TdQ4oQIEIyKuQju+5cpInF5i2u4WFe3okFhe+I="; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix index 5aefffabc32..89aa3c7d358 100644 --- a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix @@ -6,13 +6,13 @@ buildKodiBinaryAddon rec { pname = "pvr-iptvsimple"; namespace = "pvr.iptvsimple"; - version = "19.0.3"; + version = "19.1.0"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.iptvsimple"; rev = "${version}-${rel}"; - sha256 = "sha256-LQP+yPHPOjgvW7LQmqrp15NWFBVdnrGOSGm37N8AsHg="; + sha256 = "sha256-APRj/Z/GtRXNSVX5kB0o09FTa9me2ESzrZ/Q+QNrw0w="; }; extraBuildInputs = [ diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix index 0f7438e392c..596ab546766 100644 --- a/pkgs/applications/video/lbry/default.nix +++ b/pkgs/applications/video/lbry/default.nix @@ -2,7 +2,7 @@ let pname = "lbry-desktop"; - version = "0.52.0"; + version = "0.52.2"; in appimageTools.wrapAppImage rec { name = "${pname}-${version}"; @@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec { src = fetchurl { url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage"; # Gotten from latest-linux.yml - sha512 = "FMsO1tUhym11hxot/0S4pXwjvt1YhOUahwiQU+HhOxrZhcrOwwyXUzMy3sAzKdZjidKpA5DbLjkgwPlg2kGWwg=="; + sha512 = "+yymVTpEQ0hKrJYij9lNVxK5J8vnW1g5o1TkGJX/TkSAqIUFhwRUJyqDS3uCvgTrD8ywulewgk1TREd/PA615w=="; }; }; diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix index 4e8373383a8..eda58349bd8 100644 --- a/pkgs/applications/video/minitube/default.nix +++ b/pkgs/applications/video/minitube/default.nix @@ -6,10 +6,10 @@ mkDerivation rec { pname = "minitube"; - version = "3.9.2"; + version = "3.9.3"; src = fetchFromGitHub { - sha256 = "sha256-MIzfo17eAvpWO2HNq9z+D9XiOKTRiUHvaOdxI1EK1f0="; + sha256 = "sha256-ROqROQsV8ddrxYT5mMdkf6rCgCoGr1jpxQ1ohcoEaQs="; rev = version; repo = "minitube"; owner = "flaviotordini"; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 04911562a34..0928c7617f9 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -47,13 +47,13 @@ let in stdenv.mkDerivation rec { pname = "mkvtoolnix"; - version = "64.0.0"; + version = "65.0.0"; src = fetchFromGitLab { owner = "mbunkus"; repo = "mkvtoolnix"; rev = "release-${version}"; - sha256 = "sha256-tg9rjTbprcVkzUUVWCKqF1dzIjFKjzIqrVADtuUU9Fk="; + sha256 = "1zphcpfrzic9ialx3xxi2ywzxnllys667vy140bgdshzr798sg2p"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index 1715ce4a6a1..0c435bfbe15 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -1,4 +1,4 @@ -{ config, lib, stdenv, fetchurl, pkg-config, freetype, yasm, ffmpeg +{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg , aalibSupport ? true, aalib ? null , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null , fribidiSupport ? true, fribidi ? null @@ -93,11 +93,12 @@ in stdenv.mkDerivation rec { pname = "mplayer"; - version = "1.4"; + version = "unstable-2022-02-03"; - src = fetchurl { - url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${version}.tar.xz"; - sha256 = "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2"; + src = fetchsvn { + url = "svn://svn.mplayerhq.hu/mplayer/trunk"; + rev = "38331"; + sha256 = "1vpic8i6zvg0zsy50vhm45ysqag561bpn9jycfbvvwl9ji7l55zi"; }; prePatch = '' @@ -106,8 +107,6 @@ stdenv.mkDerivation rec { rm -rf ffmpeg ''; - patches = [ ./svn-r38199-ffmpeg44fix.patch ]; - depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkg-config yasm ]; buildInputs = with lib; @@ -163,7 +162,6 @@ stdenv.mkDerivation rec { (if pulseSupport then "--enable-pulse" else "--disable-pulse") (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2") "--disable-xanim" - "--disable-ivtv" "--disable-xvid --disable-xvid-lavc" "--disable-ossaudio" "--disable-ffmpeg_a" diff --git a/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch b/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch deleted file mode 100644 index 4137989fcb5..00000000000 --- a/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: libmpcodecs/ad_spdif.c -=================================================================== -diff --git a/libmpcodecs/ad_spdif.c b/libmpcodecs/ad_spdif.c ---- a/libmpcodecs/ad_spdif.c (revision 38198) -+++ b/libmpcodecs/ad_spdif.c (revision 38199) -@@ -298,14 +298,8 @@ - if (spdif_ctx->header_written) - av_write_trailer(lavf_ctx); - av_freep(&lavf_ctx->pb); -- if (lavf_ctx->streams) { -- av_freep(&lavf_ctx->streams[0]->codec); -- av_freep(&lavf_ctx->streams[0]->info); -- av_freep(&lavf_ctx->streams[0]); -- } -- av_freep(&lavf_ctx->streams); -- av_freep(&lavf_ctx->priv_data); -+ avformat_free_context(lavf_ctx); -+ lavf_ctx = NULL; - } -- av_freep(&lavf_ctx); - av_freep(&spdif_ctx); - } diff --git a/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch b/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch deleted file mode 100644 index 0bc79624860..00000000000 --- a/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 635772c4c5ecf11a0f84e6c9fc273dce6b9a5688 Mon Sep 17 00:00:00 2001 -From: V <v@anomalous.eu> -Date: Thu, 10 Jun 2021 18:36:22 +0200 -Subject: [PATCH] Change product_version to user_agent_product - -This is its name as of CEF 91.1.0. ---- - obs-browser-plugin.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/obs-browser-plugin.cpp b/obs-browser-plugin.cpp -index 1a6a009..5eb379e 100644 ---- a/plugins/obs-browser/obs-browser-plugin.cpp -+++ b/plugins/obs-browser/obs-browser-plugin.cpp -@@ -298,7 +298,7 @@ static void BrowserInit(void) - prod_ver << std::to_string(obs_maj) << "." << std::to_string(obs_min) - << "." << std::to_string(obs_pat); - -- CefString(&settings.product_version) = prod_ver.str(); -+ CefString(&settings.user_agent_product) = prod_ver.str(); - - #ifdef USE_QT_LOOP - settings.external_message_pump = true; --- -2.31.1 - diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 31f478c47c0..6d3f9b6d32d 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -6,7 +6,7 @@ , addOpenGLRunpath , cmake , fdk_aac -, ffmpeg +, ffmpeg_4 , jansson , libjack2 , libxkbcommon @@ -34,8 +34,10 @@ , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux , libpulseaudio , libcef +, pciutils , pipewireSupport ? stdenv.isLinux , pipewire +, libdrm }: let @@ -44,22 +46,19 @@ let in mkDerivation rec { pname = "obs-studio"; - version = "27.0.1"; + version = "27.2.0"; src = fetchFromGitHub { owner = "obsproject"; repo = "obs-studio"; rev = version; - sha256 = "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn"; + sha256 = "KZgwAtyxv2vXDW7vF1eArF5Mqw45NngwChc+5OnXuXg="; fetchSubmodules = true; }; patches = [ # Lets obs-browser build against CEF 90.1.0+ ./Enable-file-access-and-universal-access-for-file-URL.patch - - # Lets obs-browser build against CEF 91.1.0+ - ./Change-product_version-to-user_agent_product.patch ]; nativeBuildInputs = [ @@ -73,7 +72,7 @@ mkDerivation rec { buildInputs = [ curl fdk_aac - ffmpeg + ffmpeg_4 jansson libcef libjack2 @@ -89,11 +88,12 @@ mkDerivation rec { x264 libvlc mbedtls + pciutils ] ++ optionals scriptingSupport [ luajit python3 ] ++ optional alsaSupport alsa-lib ++ optional pulseaudioSupport libpulseaudio - ++ optional pipewireSupport pipewire; + ++ optionals pipewireSupport [ pipewire libdrm ]; # Copied from the obs-linuxbrowser postUnpack = '' @@ -143,5 +143,6 @@ mkDerivation rec { maintainers = with maintainers; [ jb55 MP2E V ]; license = licenses.gpl2Plus; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + mainProgram = "obs"; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix index c78a8236bf2..a6c84cbbbef 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "obs-multi-rtmp"; - version = "0.2.7.1"; + version = "0.2.8.1"; src = fetchFromGitHub { owner = "sorayuki"; repo = "obs-multi-rtmp"; rev = version; - sha256 = "sha256-pnSIbAWGufcWIARXpX/zwA/Ff35lrinFaMIdFY00c4Y="; + sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix index 5c13d33ae46..d747268cc55 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix @@ -4,24 +4,48 @@ , fetchpatch , cmake , qtbase +, qtsvg , obs-studio , asio_1_10 , websocketpp +, nlohmann_json }: stdenv.mkDerivation rec { pname = "obs-websocket"; - version = "4.9.1"; + + # 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 = "sha256-XCiSNWTiA/u+3IbYlhIc5bCjKjLHDRVjYIG5MEoYnr0="; + 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 obs-studio asio_1_10 websocketpp ]; + buildInputs = [ + qtbase + qtsvg + obs-studio + asio_1_10 + websocketpp + nlohmann_json + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix index edeb848867f..27064077a9f 100644 --- a/pkgs/applications/video/peek/default.nix +++ b/pkgs/applications/video/peek/default.nix @@ -1,5 +1,7 @@ -{ lib, stdenv +{ stdenv +, lib , fetchFromGitHub +, fetchpatch , nix-update-script , meson , ninja @@ -35,6 +37,15 @@ stdenv.mkDerivation rec { sha256 = "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x"; }; + patches = [ + # Fix compatibility with GNOME Shell ≥ 40. + # https://github.com/phw/peek/pull/910 + (fetchpatch { + url = "https://github.com/phw/peek/commit/008d15316ab5428363c512b263ca8138cb8f52ba.patch"; + sha256 = "xxJ+r5uRk93MEzWTFla88ewZsnUl3+YKTenzDygtKP0="; + }) + ]; + nativeBuildInputs = [ appstream-glib desktop-file-utils diff --git a/pkgs/applications/video/plex-media-player/default.nix b/pkgs/applications/video/plex-media-player/default.nix index 81b354fe1ff..34b6eb9c286 100644 --- a/pkgs/applications/video/plex-media-player/default.nix +++ b/pkgs/applications/video/plex-media-player/default.nix @@ -36,12 +36,16 @@ in mkDerivation rec { cmakeFlags = [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DQTROOT=${qtbase}" ]; + # plexmediaplayer currently segfaults under wayland + qtWrapperArgs = [ "--set" "QT_QPA_PLATFORM" "xcb" ]; + passthru.updateScript = ./update.sh; meta = with lib; { description = "Streaming media player for Plex"; license = licenses.gpl2; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ b4dm4n ]; homepage = "https://plex.tv"; + mainProgram = "plexmediaplayer"; }; } diff --git a/pkgs/applications/video/sub-batch/default.nix b/pkgs/applications/video/sub-batch/default.nix index fd5b2888d63..1603bdcbb94 100644 --- a/pkgs/applications/video/sub-batch/default.nix +++ b/pkgs/applications/video/sub-batch/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "sub-batch"; - version = "0.4.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "kl"; repo = pname; rev = "v${version}"; - sha256 = "sha256-WUW+lOGbZ82NJxmW+Ogxslf3COOp62aZ/08Yn26l4T0="; + sha256 = "sha256-N+3KyBlLG90C3D5ivgj6qedtKsUBoBHr89gmxyAIfVI="; }; - cargoSha256 = "sha256-m9nBubmuuOcJyegmYGJizY/2b7oamBHKFNIaxOtikcA="; + cargoSha256 = "sha256-rjhSosiLIgcSw6OHpFmGNHXGUdf2QsiIXFVgtO9qNY0="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix index 74ce4446a19..3b333be7afe 100644 --- a/pkgs/applications/video/tartube/default.nix +++ b/pkgs/applications/video/tartube/default.nix @@ -15,13 +15,13 @@ python3Packages.buildPythonApplication rec { pname = "tartube"; - version = "2.3.332"; + version = "2.3.367"; src = fetchFromGitHub { owner = "axcore"; repo = "tartube"; rev = "v${version}"; - sha256 = "1m7p4chpvbh4mswsymh89dksdgwhmnkpfbx9zi2jzqgkinfd6a2k"; + sha256 = "sha256-ZoNe3Ibv0adM6Is5cWMqfUrr0U3R951IJFsdEm1bztc="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix index 6dc8aa56b5c..f2753affa56 100644 --- a/pkgs/applications/video/ustreamer/default.nix +++ b/pkgs/applications/video/ustreamer/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ustreamer"; - version = "4.9"; + version = "4.11"; src = fetchFromGitHub { owner = "pikvm"; repo = "ustreamer"; rev = "v${version}"; - sha256 = "sha256-dYwR+D2g4PxYyhsH9mGwgzTQ2Vw5UpMSomTl828gFvM="; + sha256 = "sha256-MTzlhnnDVZzS3lnYe3P/Hi6pi6f4B0+ejmDwV0f9juI="; }; buildInputs = [ libbsd libevent libjpeg ]; diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix index 51984cf5f11..5584e63ab44 100644 --- a/pkgs/applications/video/vdr/default.nix +++ b/pkgs/applications/video/vdr/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { pname = "vdr"; - version = "2.6.0"; + version = "2.6.1"; src = fetchgit { url = "git://git.tvdr.de/vdr.git"; rev = version; - sha256 = "sha256-TZm9pN9xtqkKhETsUhIIalK+4xQpFV3TXyWychSoyRk="; + sha256 = "sha256-jKuvh1OruPXTBlgLwlwcJdqC8u0WBDr/Un5JUL3U0hw="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 7aa780f8a7f..a5e65480b2b 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -10,7 +10,7 @@ , avahi , dbus , faad2 -, ffmpeg +, ffmpeg_4 , flac , fluidsynth , freefont_ttf @@ -100,7 +100,7 @@ stdenv.mkDerivation rec { avahi dbus faad2 - ffmpeg + ffmpeg_4 flac fluidsynth fribidi diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix index 3d44796f78c..b4f610c7a91 100644 --- a/pkgs/applications/video/xine-ui/default.nix +++ b/pkgs/applications/video/xine-ui/default.nix @@ -1,6 +1,8 @@ { lib , stdenv , fetchurl +, fetchpatch +, autoreconfHook , curl , libjpeg , libpng @@ -22,7 +24,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-sjgtB1xysbEAOeDpAxDMhsjZEDWMU1We2C09WEIB9cU="; }; + patches = [ + (fetchpatch { + # Fix build on aarch64 + name = "xine-ui_FTBS_aarch64.patch"; + url = "https://salsa.debian.org/debian/xine-ui/-/raw/b2f04f64947a8975a805950e7e67b15cb44007ef/debian/patches/backport/0003-Fix-build.patch"; + sha256 = "03f8nkm7q11v5vssl1bj500ja4ljz4y752mfk22k2g4djkwimx62"; + }) + ]; + nativeBuildInputs = [ + autoreconfHook pkg-config shared-mime-info ]; @@ -57,7 +69,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "http://xinehq.de/"; + homepage = "http://xine.sourceforge.net/"; description = "Xlib-based frontend for Xine video player"; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix index a4b03e91501..9d6a5e18ad5 100644 --- a/pkgs/applications/video/xplayer/default.nix +++ b/pkgs/applications/video/xplayer/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { # the gstreamer toolsdir points to the wrong derivation output postPatch = '' substituteInPlace configure.ac \ - --replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer.dev}/bin/gst-inspect-1.0' \ + --replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer}/bin/gst-inspect-1.0' \ ''; preBuild = '' |