about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix4
-rw-r--r--pkgs/applications/video/filebot/default.nix23
-rw-r--r--pkgs/applications/video/jellyfin-media-player/default.nix14
-rw-r--r--pkgs/applications/video/jellyfin-media-player/fix-osx-resources.patch15
-rw-r--r--pkgs/applications/video/jellyfin-media-player/fix-web-path.patch28
-rw-r--r--pkgs/applications/video/kodi/addons/certifi/default.nix17
-rw-r--r--pkgs/applications/video/kodi/addons/certifi/env.patch86
-rw-r--r--pkgs/applications/video/kodi/addons/pvr-hts/default.nix4
-rw-r--r--pkgs/applications/video/lightworks/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix6
-rw-r--r--pkgs/applications/video/mpv/scripts/mpvacious.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/uosc.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix10
-rw-r--r--pkgs/applications/video/qmplay2/default.nix6
-rw-r--r--pkgs/applications/video/ustreamer/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix11
-rw-r--r--pkgs/applications/video/vokoscreen-ng/default.nix4
-rw-r--r--pkgs/applications/video/webtorrent_desktop/default.nix4
18 files changed, 194 insertions, 54 deletions
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index c519d5254c3c5..0b7cec3477391 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -8,7 +8,7 @@
 , addOpenGLRunpath
 , libGLU
 , xorg
-, buildFHSUserEnv
+, buildFHSEnv
 , bash
 , writeText
 , ocl-icd
@@ -133,7 +133,7 @@ let
     }
   );
 in
-buildFHSUserEnv {
+buildFHSEnv {
   name = "davinci-resolve";
   targetPkgs = pkgs: with pkgs; [
     librsvg
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index 014e009f2496f..09f99f400aa6a 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -1,14 +1,19 @@
-{ lib, stdenv, fetchurl, openjdk17, makeWrapper, autoPatchelfHook
+{ lib, stdenv, fetchurl, coreutils, openjdk17, makeWrapper, autoPatchelfHook
 , zlib, libzen, libmediainfo, curlWithGnuTls, libmms, glib
 }:
 
-stdenv.mkDerivation rec {
+let
+  lanterna = fetchurl {
+    url = "https://search.maven.org/remotecontent?filepath=com/googlecode/lanterna/lanterna/3.1.1/lanterna-3.1.1.jar";
+    hash = "sha256-7zxCeXYW5v9ritnvkwRpPKdgSptCmkT3HJOaNgQHUmQ=";
+  };
+in stdenv.mkDerivation rec {
   pname = "filebot";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20220305095926/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
-    sha256 = "sha256-0d0+o8ZiF1m83AasjoxUDNtUSquy69wFY1m1oYeybFw=";
+    url = "https://web.archive.org/web/20230418205553/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
+    hash = "sha256-XnzBXZy/gNA8qf7XairoviRmdQiXHbW19BgbHL52SP0=";
   };
 
   unpackPhase = "tar xvf $src";
@@ -17,6 +22,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libzen libmediainfo curlWithGnuTls libmms glib ];
 
+  postPatch = ''
+    # replace lanterna.jar to be able to specify `com.googlecode.lanterna.terminal.UnixTerminal.sttyCommand`
+    cp ${lanterna} jar/lanterna.jar
+  '';
+
   dontBuild = true;
   installPhase = ''
     mkdir -p $out/opt $out/bin
@@ -25,7 +35,8 @@ stdenv.mkDerivation rec {
     # Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead.
     substituteInPlace $out/opt/filebot.sh \
       --replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \
-      --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license'
+      --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license' \
+      --replace '-jar "$FILEBOT_HOME/jar/filebot.jar"' '-Dcom.googlecode.lanterna.terminal.UnixTerminal.sttyCommand=${coreutils}/bin/stty -jar "$FILEBOT_HOME/jar/filebot.jar"'
     wrapProgram $out/opt/filebot.sh \
       --prefix PATH : ${lib.makeBinPath [ openjdk17 ]}
     # Expose the binary in bin to make runnable.
diff --git a/pkgs/applications/video/jellyfin-media-player/default.nix b/pkgs/applications/video/jellyfin-media-player/default.nix
index d6379550e884f..c9cea8cb81c67 100644
--- a/pkgs/applications/video/jellyfin-media-player/default.nix
+++ b/pkgs/applications/video/jellyfin-media-player/default.nix
@@ -28,18 +28,18 @@
 
 mkDerivation rec {
   pname = "jellyfin-media-player";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-media-player";
     rev = "v${version}";
-    sha256 = "sha256-/FqxZd0cFSfkeBQmZ2gU+5FUZZ+WbQ8c2IjaZ4/uGt8=";
+    sha256 = "sha256-PfzBxvGroHgjEz4OchnECSfcb1Ds8xbE28yxneaiPuo=";
   };
 
   patches = [
-    # the webclient-files are not copied in the regular build script. Copy them just like the linux build
-    ./fix-osx-resources.patch
+    # fix the location of the jellyfin-web path
+    ./fix-web-path.patch
     # disable update notifications since the end user can't simply download the release artifacts to update
     ./disable-update-notifications.patch
   ];
@@ -79,9 +79,9 @@ mkDerivation rec {
     "-DLINUX_X11POWER=ON"
   ];
 
-  preBuild = ''
-    # link the jellyfin-web files to the expected "dist" directory
-    ln -s ${jellyfin-web}/share/jellyfin-web dist
+  preConfigure = ''
+    # link the jellyfin-web files to be copied by cmake (see fix-web-path.patch)
+    ln -s ${jellyfin-web}/share/jellyfin-web .
   '';
 
   postInstall = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/video/jellyfin-media-player/fix-osx-resources.patch b/pkgs/applications/video/jellyfin-media-player/fix-osx-resources.patch
deleted file mode 100644
index 5c562295b40ea..0000000000000
--- a/pkgs/applications/video/jellyfin-media-player/fix-osx-resources.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 780c0d3..d9c2341 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -108,8 +108,8 @@ endif()
- set(RESOURCE_ROOT .)
- if(APPLE)
-   set(RESOURCE_ROOT Resources)
--  add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop)
--  add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension)
-+  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop)
-+  install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension)
- endif()
- 
- if(NOT APPLE)
diff --git a/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch b/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch
new file mode 100644
index 0000000000000..250a5c0695450
--- /dev/null
+++ b/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch
@@ -0,0 +1,28 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 5abca9b..d09176b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -107,10 +107,8 @@ endif()
+ set(RESOURCE_ROOT .)
+ if(APPLE)
+   set(RESOURCE_ROOT Resources)
+-  if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/)
+-    add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop)
+-  endif()
+-  add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension)
++  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop)
++  install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension)
+ endif()
+ 
+ if(NOT APPLE)
+@@ -123,9 +121,7 @@ if(NOT APPLE)
+       install(FILES ${loc}/qtwebengine_devtools_resources.pak DESTINATION resources)
+     endif()
+   endforeach()
+-  if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/)
+-    install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
+-  endif()
++  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
+   install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/extension)
+ endif()
+ 
diff --git a/pkgs/applications/video/kodi/addons/certifi/default.nix b/pkgs/applications/video/kodi/addons/certifi/default.nix
index 0e0699752a91b..8dd9c5702a2db 100644
--- a/pkgs/applications/video/kodi/addons/certifi/default.nix
+++ b/pkgs/applications/video/kodi/addons/certifi/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, cacert }:
 buildKodiAddon rec {
   pname = "certifi";
   namespace = "script.module.certifi";
@@ -9,6 +9,21 @@ buildKodiAddon rec {
     sha256 = "sha256-kIPGEjmnHlgVb11W2RKBlrMy3/+kUOcQZiLCcnHCcno=";
   };
 
+  patches = [
+    # Add support for NIX_SSL_CERT_FILE
+    ./env.patch
+  ];
+
+  postPatch = ''
+    # Use our system-wide ca-bundle instead of the bundled one
+    ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "lib/certifi/cacert.pem"
+  '';
+
+  propagatedNativeBuildInputs = [
+    # propagate cacerts setup-hook to set up `NIX_SSL_CERT_FILE`
+    cacert
+  ];
+
   passthru = {
     pythonPath = "lib";
     updateScript = addonUpdateScript {
diff --git a/pkgs/applications/video/kodi/addons/certifi/env.patch b/pkgs/applications/video/kodi/addons/certifi/env.patch
new file mode 100644
index 0000000000000..087ab58e4414e
--- /dev/null
+++ b/pkgs/applications/video/kodi/addons/certifi/env.patch
@@ -0,0 +1,86 @@
+diff --git a/lib/certifi/core.py b/lib/certifi/core.py
+index de02898..c033d20 100644
+--- a/lib/certifi/core.py
++++ b/lib/certifi/core.py
+@@ -4,15 +4,25 @@ certifi.py
+ 
+ This module returns the installation location of cacert.pem or its contents.
+ """
++import os
+ import sys
+ 
+ 
++def get_cacert_path_from_environ():
++    path = os.environ.get("NIX_SSL_CERT_FILE", None)
++
++    if path == "/no-cert-file.crt":
++        return None
++
++    return path
++
++
+ if sys.version_info >= (3, 11):
+ 
+     from importlib.resources import as_file, files
+ 
+     _CACERT_CTX = None
+-    _CACERT_PATH = None
++    _CACERT_PATH = get_cacert_path_from_environ()
+ 
+     def where() -> str:
+         # This is slightly terrible, but we want to delay extracting the file
+@@ -39,14 +49,16 @@ if sys.version_info >= (3, 11):
+         return _CACERT_PATH
+ 
+     def contents() -> str:
+-        return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii")
++        if _CACERT_PATH is not None:
++            return open(_CACERT_PATH, encoding="utf-8").read()
++        return files("certifi").joinpath("cacert.pem").read_text(encoding="utf-8")
+ 
+ elif sys.version_info >= (3, 7):
+ 
+     from importlib.resources import path as get_path, read_text
+ 
+     _CACERT_CTX = None
+-    _CACERT_PATH = None
++    _CACERT_PATH = get_cacert_path_from_environ()
+ 
+     def where() -> str:
+         # This is slightly terrible, but we want to delay extracting the
+@@ -74,7 +86,9 @@ elif sys.version_info >= (3, 7):
+         return _CACERT_PATH
+ 
+     def contents() -> str:
+-        return read_text("certifi", "cacert.pem", encoding="ascii")
++        if _CACERT_PATH is not None:
++            return open(_CACERT_PATH, encoding="utf-8").read()
++        return read_text("certifi", "cacert.pem", encoding="utf-8")
+ 
+ else:
+     import os
+@@ -84,6 +98,8 @@ else:
+     Package = Union[types.ModuleType, str]
+     Resource = Union[str, "os.PathLike"]
+ 
++    _CACERT_PATH = get_cacert_path_from_environ()
++
+     # This fallback will work for Python versions prior to 3.7 that lack the
+     # importlib.resources module but relies on the existing `where` function
+     # so won't address issues with environments like PyOxidizer that don't set
+@@ -102,7 +118,14 @@ else:
+     def where() -> str:
+         f = os.path.dirname(__file__)
+ 
++        if _CACERT_PATH is not None:
++            return _CACERT_PATH
++
+         return os.path.join(f, "cacert.pem")
+ 
+     def contents() -> str:
+-        return read_text("certifi", "cacert.pem", encoding="ascii")
++        if _CACERT_PATH is not None:
++            with open(_CACERT_PATH, encoding="utf-8") as data:
++                return data.read()
++
++        return read_text("certifi", "cacert.pem", encoding="utf-8")
diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
index fbace20ac6eaa..652dd3a40219a 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 = "20.6.0";
+  version = "20.6.2";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.hts";
     rev = "${version}-${rel}";
-    sha256 = "sha256-D6t61/KUEQBMw5WrCfiWyFHnGbnpHWVKzzdgiRpviig=";
+    sha256 = "sha256-AQI7s6PAro+CZ6IoKGm8ii1ZKibfNc2oVVeCCZP+DTg=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
index b01af67cd68e6..fab7d8a443522 100644
--- a/pkgs/applications/video/lightworks/default.nix
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
+{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv
 , gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
 , libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsa-lib, udev, libjack2
 }:
@@ -73,7 +73,7 @@ let
   };
 
 # Lightworks expects some files in /usr/share/lightworks
-in buildFHSUserEnv {
+in buildFHSEnv {
   name = lightworks.name;
 
   targetPkgs = pkgs: [
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index d36e2b6774447..5fdb7d24f3878 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -82,7 +82,7 @@ let
   inherit (darwin.apple_sdk_11_0.frameworks)
     AVFoundation CoreFoundation CoreMedia Cocoa CoreAudio MediaPlayer Accelerate;
   luaEnv = lua.withPackages (ps: with ps; [ luasocket ]);
-in stdenv.mkDerivation (self: {
+in stdenv.mkDerivation (finalAttrs: {
   pname = "mpv";
   version = "0.35.1";
 
@@ -91,7 +91,7 @@ in stdenv.mkDerivation (self: {
   src = fetchFromGitHub {
     owner = "mpv-player";
     repo = "mpv";
-    rev = "v${self.version}";
+    rev = "v${finalAttrs.version}";
     sha256 = "sha256-CoYTX9hgxLo72YdMoa0sEywg4kybHbFsypHk1rCM6tM=";
   };
 
@@ -233,7 +233,7 @@ in stdenv.mkDerivation (self: {
       mpv is a free and open-source general-purpose video player, based on the
       MPlayer and mplayer2 projects, with great improvements above both.
     '';
-    changelog = "https://github.com/mpv-player/mpv/releases/tag/v${self.version}";
+    changelog = "https://github.com/mpv-player/mpv/releases/tag/v${finalAttrs.version}";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/applications/video/mpv/scripts/mpvacious.nix
index af033781ac2c4..2ba2b80cbdcb4 100644
--- a/pkgs/applications/video/mpv/scripts/mpvacious.nix
+++ b/pkgs/applications/video/mpv/scripts/mpvacious.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mpvacious";
-  version = "0.20";
+  version = "0.23";
 
   src = fetchFromGitHub {
     owner = "Ajatt-Tools";
     repo = "mpvacious";
     rev = "v${version}";
-    sha256 = "sha256-9Lf7MVaJ5eC5Gb1PdGBvtENU8AAVq2jsUkY3wJfztt8=";
+    sha256 = "sha256-b0JUT5Y0u/H9p5whuFTU8EgQnKzFCUR2HA9NO+mxe04=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/video/mpv/scripts/uosc.nix b/pkgs/applications/video/mpv/scripts/uosc.nix
index 1a486dbf556d4..b88cd2c5b968b 100644
--- a/pkgs/applications/video/mpv/scripts/uosc.nix
+++ b/pkgs/applications/video/mpv/scripts/uosc.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "uosc";
-  version = "4.6.0";
+  version = "4.7.0";
 
   src = fetchFromGitHub {
     owner = "tomasklaen";
     repo = "uosc";
     rev = finalAttrs.version;
-    hash = "sha256-AxApKlSaRLPl6VsXsARfaT3kWDK6AB2AAEmIHYiuFaM=";
+    hash = "sha256-JqlBjhwRgmXl6XfHYTwtNWZj656EDHjcdWOlCgihF5I=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index a3acd60b43425..2c987d5ca9324 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -7,7 +7,10 @@
 , wayland
 , wayland-scanner
 , obs-studio
+, libffi
 , libX11
+, libXau
+, libXdmcp
 , libxcb
 , vulkan-headers
 , vulkan-loader
@@ -17,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-vkcapture";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4rEUA8V5WgAVyBeUT0ALVmj14HaAgeASYd2YiBn8MC0=";
+    hash = "sha256-UQQ8oBEnOxmSN4ZyW4LdPZYvd5eB9EmdR0UvE1wgMZw=";
   };
 
   cmakeFlags = lib.optionals stdenv.isi686 [
@@ -35,7 +38,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake extra-cmake-modules ninja wayland-scanner ];
   buildInputs = [
     libGL
+    libffi
     libX11
+    libXau
+    libXdmcp
     libxcb
     vulkan-headers
     vulkan-loader
diff --git a/pkgs/applications/video/qmplay2/default.nix b/pkgs/applications/video/qmplay2/default.nix
index d4da46cfc887c..72dd596134443 100644
--- a/pkgs/applications/video/qmplay2/default.nix
+++ b/pkgs/applications/video/qmplay2/default.nix
@@ -21,14 +21,14 @@
 , wrapQtAppsHook
 }:
 
-stdenv.mkDerivation (self: {
+stdenv.mkDerivation (finalAttrs: {
   pname = "qmplay2";
   version = "23.02.05";
 
   src = fetchFromGitHub {
     owner = "zaps166";
     repo = "QMPlay2";
-    rev = self.version;
+    rev = finalAttrs.version;
     sha256 = "sha256-ZDpUgD9qTvjopGFVrwTBSEmrXn+4aKq2zeqoTnXwmI8=";
     fetchSubmodules = true;
   };
@@ -71,7 +71,7 @@ stdenv.mkDerivation (self: {
       files, Rayman 2 music and chiptunes. It contains YouTube and MyFreeMP3
       browser.
     '';
-    changelog = "https://github.com/zaps166/QMPlay2/releases/tag/${self.version}";
+    changelog = "https://github.com/zaps166/QMPlay2/releases/tag/${finalAttrs.version}";
     license = lib.licenses.lgpl3Plus;
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix
index 70e335192d9d3..de2b6898ddeb9 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 = "5.36";
+  version = "5.37";
 
   src = fetchFromGitHub {
     owner = "pikvm";
     repo = "ustreamer";
     rev = "v${version}";
-    sha256 = "sha256-VnqCiEPaBzGN2TL7oXO4T7dcNdGneac/5nFPwRPiJ9c=";
+    sha256 = "sha256-Ervzk5TNYvo7nHyt0cBN8BMjgJKu2sqeXCltero3AnE=";
   };
 
   buildInputs = [ libbsd libevent libjpeg ];
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 457aa7a0da5d0..fd263557d48ad 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -71,7 +71,7 @@
 , onlyLibVLC ? false
 , skins2Support ? !onlyLibVLC, freetype
 , waylandSupport ? true, wayland, wayland-protocols
-, withQt5 ? true, qtbase, qtsvg, qtwayland, qtx11extras, wrapQtAppsHook
+, withQt5 ? true, qtbase, qtsvg, qtwayland, qtx11extras, wrapQtAppsHook, wrapGAppsHook
 }:
 
 # chromecastSupport requires TCP port 8010 to be open for it to work.
@@ -177,6 +177,7 @@ stdenv.mkDerivation rec {
     pkg-config
     removeReferencesTo
     unzip
+    wrapGAppsHook
   ]
   ++ optionals withQt5 [ wrapQtAppsHook ]
   ++ optionals waylandSupport [ wayland wayland-protocols ];
@@ -209,6 +210,14 @@ stdenv.mkDerivation rec {
       /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype
   '';
 
+
+  # to prevent double wrapping of Qtwrap and Gwrap
+  dontWrapGApps = true;
+
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   # - Touch plugins (plugins cache keyed off mtime and file size:
   #     https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830
   # - Remove references to the Qt development headers (used in error messages)
diff --git a/pkgs/applications/video/vokoscreen-ng/default.nix b/pkgs/applications/video/vokoscreen-ng/default.nix
index b20d73d7c09b9..75c8fbf982a80 100644
--- a/pkgs/applications/video/vokoscreen-ng/default.nix
+++ b/pkgs/applications/video/vokoscreen-ng/default.nix
@@ -22,13 +22,13 @@
 
 mkDerivation rec {
   pname = "vokoscreen-ng";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "vkohaupt";
     repo = "vokoscreenNG";
     rev = version;
-    sha256 = "sha256-4VEIQj9/rSzXM5EQFt2I+cKKOM1URKlblf+6vlWEuO0=";
+    sha256 = "sha256-Du/Dq7AUH5CeEKYr0kxcqguAyRVI5Ame41nU3FGvG+U=";
   };
 
   qmakeFlags = [ "src/vokoscreenNG.pro" ];
diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix
index 8f1353fa83e48..47d22267c6de3 100644
--- a/pkgs/applications/video/webtorrent_desktop/default.nix
+++ b/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -2,7 +2,7 @@
 ##  - export ELECTRON_SKIP_BINARY_DOWNLOAD=1
 ##  - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json
 {
-  lib, stdenv, buildFHSUserEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip
+  lib, stdenv, buildFHSEnv, runCommand, writeScript, fetchurl, fetchzip
 }:
 let
   pname = "webtorrent-desktop";
@@ -20,7 +20,7 @@ runCommand "${pname}-${version}" rec {
     else
       throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}";
 
-  fhs = buildFHSUserEnvBubblewrap rec {
+  fhs = buildFHSEnv rec {
     name = "fhsEnterWebTorrent";
     runScript = "${src}/WebTorrent";
     ## use the trampoline, if you need to shell into the fhsenv