about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/video')
-rw-r--r--nixpkgs/pkgs/applications/video/ani-cli/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/video/byzanz/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/corrscope/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/video/filebot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/freetube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/gpu-screen-recorder/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/video/gpu-screen-recorder/fix-nvfbc-check.patch38
-rw-r--r--nixpkgs/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix46
-rw-r--r--nixpkgs/pkgs/applications/video/lbry/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/vr-reversal.nix35
-rw-r--r--nixpkgs/pkgs/applications/video/natron/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/video/p2pvc/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/video/pitivi/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/video/qmplay2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/smplayer/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/yuview/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/video/yuview/disable_version_check.patch15
18 files changed, 301 insertions, 31 deletions
diff --git a/nixpkgs/pkgs/applications/video/ani-cli/default.nix b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
new file mode 100644
index 000000000000..6883587b4b81
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
@@ -0,0 +1,44 @@
+{ fetchFromGitHub
+, makeWrapper
+, stdenvNoCC
+, lib
+, gnugrep
+, gnused
+, curl
+, openssl
+, mpv
+, aria2
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "ani-cli";
+  version = "1.9";
+
+  src = fetchFromGitHub {
+    owner = "pystardust";
+    repo = "ani-cli";
+    rev = "v${version}";
+    sha256 = "sha256-oYiq3Mnuhba5NELJXqVN3gY/d0RfQIqW13YtdcmYKK4=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 ani-cli $out/bin/ani-cli
+
+    wrapProgram $out/bin/ani-cli \
+      --prefix PATH : ${lib.makeBinPath [ gnugrep gnused curl openssl mpv aria2 ]}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/pystardust/ani-cli";
+    description = "A cli tool to browse and play anime";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ skykanin ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/byzanz/default.nix b/nixpkgs/pkgs/applications/video/byzanz/default.nix
index a9eee05d238f..2919cb10ca3f 100644
--- a/nixpkgs/pkgs/applications/video/byzanz/default.nix
+++ b/nixpkgs/pkgs/applications/video/byzanz/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   pname = "byzanz";
 
   src = fetchgit {
-    url = "git://github.com/GNOME/byzanz";
+    url = "https://gitlab.gnome.org/Archive/byzanz";
     rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
     sha256 = "0a72fw2mxl8vdcdnzy0bwis4jk28pd7nc8qgr4vhyw5pd48dynvh";
   };
diff --git a/nixpkgs/pkgs/applications/video/corrscope/default.nix b/nixpkgs/pkgs/applications/video/corrscope/default.nix
index 0e1d377be28e..1c7855c7c073 100644
--- a/nixpkgs/pkgs/applications/video/corrscope/default.nix
+++ b/nixpkgs/pkgs/applications/video/corrscope/default.nix
@@ -2,7 +2,6 @@
 , mkDerivationWith
 , python3Packages
 , fetchFromGitHub
-, fetchpatch
 , wrapQtAppsHook
 , ffmpeg
 , qtbase
@@ -10,25 +9,16 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "corrscope";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "corrscope";
     repo = "corrscope";
     rev = version;
-    sha256 = "0c9kmrw6pcda68li04b5j2kmsgdw1q463qlc32wn96zn9hl82v6m";
+    sha256 = "1wdla4ryif1ss37aqi61lcvzddvf568wyh5s3xv1lrryh4al9vpd";
   };
 
-  patches = [
-    # Remove when bumping past 0.7.1
-    (fetchpatch {
-      name = "0001-Use-poetry-core.patch";
-      url = "https://github.com/corrscope/corrscope/commit/d40d1846dd54b8bccd7b8055d6aece48aacbb943.patch";
-      sha256 = "0xxsbmxdbh3agfm6ww3rpa7ab0ysppan490w0gaqwmwzrxmmdljv";
-    })
-  ];
-
   nativeBuildInputs = [
     wrapQtAppsHook
   ] ++ (with python3Packages; [
@@ -48,8 +38,10 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     matplotlib
     numpy
     packaging
+    qtpy
     pyqt5
     ruamel-yaml
+    colorspacious
   ];
 
   dontWrapQtApps = true;
diff --git a/nixpkgs/pkgs/applications/video/filebot/default.nix b/nixpkgs/pkgs/applications/video/filebot/default.nix
index d80384f7b26a..df435d03d09d 100644
--- a/nixpkgs/pkgs/applications/video/filebot/default.nix
+++ b/nixpkgs/pkgs/applications/video/filebot/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "filebot";
-  version = "4.9.5";
+  version = "4.9.6";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20220226124706/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
-    sha256 = "sha256-LNvfAueDMd2TedK6bqnNG+J/4YhhbmUca9iyUkoUNkE=";
+    url = "https://web.archive.org/web/20220305095926/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
+    sha256 = "sha256-3j0WmmamE9KUNwjOVZvrdFH5dS/9FHSdbLfcAsOzQOo=";
   };
 
   unpackPhase = "tar xvf $src";
diff --git a/nixpkgs/pkgs/applications/video/freetube/default.nix b/nixpkgs/pkgs/applications/video/freetube/default.nix
index 8b90704a535d..c93be6b63834 100644
--- a/nixpkgs/pkgs/applications/video/freetube/default.nix
+++ b/nixpkgs/pkgs/applications/video/freetube/default.nix
@@ -23,11 +23,11 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin $out/share/${pname} $out/share/applications
+    mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/scalable/apps
 
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
-    cp -a ${appimageContents}/usr/share/icons $out/share
+    cp -a ${appimageContents}/usr/share/icons/hicolor/scalable/freetube.svg $out/share/icons/hicolor/scalable/apps
 
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/nixpkgs/pkgs/applications/video/gpu-screen-recorder/default.nix b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/default.nix
new file mode 100644
index 000000000000..be02bb5c690e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchgit, makeWrapper, pkg-config, cudatoolkit, glew, libX11
+, libXcomposite, glfw, libpulseaudio, ffmpeg }:
+
+stdenv.mkDerivation rec {
+  pname = "gpu-screen-recorder";
+  version = "1.0.0";
+
+  src = fetchgit {
+    url = "https://repo.dec05eba.com/gpu-screen-recorder";
+    rev = "36fd4516db06bcb192e49055319d1778bbed0322";
+    sha256 = "sha256-hYEHM4FOYcPmQ5Yxh520PKy8HiD+G0xv9hrn8SmA07w=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    makeWrapper
+  ];
+
+  buildInputs = [
+    glew
+    libX11
+    libXcomposite
+    glfw
+    libpulseaudio
+    ffmpeg
+  ];
+
+  postPatch = ''
+    substituteInPlace ./build.sh \
+      --replace '/opt/cuda/targets/x86_64-linux/include' '${cudatoolkit}/targets/x86_64-linux/include' \
+      --replace '/usr/lib64/libcuda.so' '${cudatoolkit}/targets/x86_64-linux/lib/stubs/libcuda.so'
+  '';
+
+  buildPhase = ''
+    ./build.sh
+  '';
+
+  installPhase = ''
+    install -Dt $out/bin/ gpu-screen-recorder
+    wrapProgram $out/bin/gpu-screen-recorder --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib
+  '';
+
+  meta = with lib; {
+    description = "A screen recorder that has minimal impact on system performance by recording a window using the GPU only";
+    homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/gpu-screen-recorder/fix-nvfbc-check.patch b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/fix-nvfbc-check.patch
new file mode 100644
index 000000000000..bd0d7111c80a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/fix-nvfbc-check.patch
@@ -0,0 +1,38 @@
+diff --git a/build.sh b/build.sh
+index 05603db..8c38b31 100755
+--- a/build.sh
++++ b/build.sh
+@@ -2,5 +2,5 @@
+ 
+ dependencies="gtk+-3.0 x11 xrandr libpulse"
+ includes="$(pkg-config --cflags $dependencies)"
+-libs="$(pkg-config --libs $dependencies)"
++libs="$(pkg-config --libs $dependencies) -ldl"
+ g++ -o gpu-screen-recorder-gtk -O2 src/main.cpp -s $includes $libs
+diff --git a/src/main.cpp b/src/main.cpp
+index ae2078f..9dcdce1 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -15,6 +15,7 @@
+ #include <pwd.h>
+ #include <libgen.h>
+ #include <functional>
++#include <dlfcn.h>
+ 
+ typedef struct {
+     Display *display;
+@@ -830,7 +831,13 @@ static void audio_input_change_callback(GtkComboBox *widget, gpointer userdata)
+ }
+ 
+ static bool is_nv_fbc_installed() {
+-    return access("/usr/lib/libnvidia-fbc.so.1", F_OK) == 0 || access("/usr/local/lib/libnvidia-fbc.so.1", F_OK) == 0;
++    auto handle = dlopen("libnvidia-fbc.so.1", RTLD_LAZY);
++    if (handle) {
++        dlclose(handle);
++        return true;
++    } else {
++        return false;
++    }
+ }
+ 
+ static GtkWidget* create_common_settings_page(GtkStack *stack, GtkApplication *app) {
diff --git a/nixpkgs/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
new file mode 100644
index 000000000000..6bfb425f0af9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
@@ -0,0 +1,46 @@
+{ stdenv, lib, fetchgit, pkg-config, makeWrapper, gtk3, libX11, libXrandr
+, libpulseaudio, gpu-screen-recorder }:
+
+stdenv.mkDerivation rec {
+  pname = "gpu-screen-recorder-gtk";
+  version = "0.1.0";
+
+  src = fetchgit {
+    url = "https://repo.dec05eba.com/gpu-screen-recorder-gtk";
+    rev = "4c317abd0531f8e155fbbbcd32850bbeebbf2ead";
+    sha256 = "sha256-5W6qmUMP31ndRDxMHuQ/XnZysPQgaie0vVlMTzfODU4=";
+  };
+
+  patches = [ ./fix-nvfbc-check.patch ];
+
+  nativeBuildInputs = [
+    pkg-config
+    makeWrapper
+  ];
+
+  buildInputs = [
+    gtk3
+    libX11
+    libXrandr
+    libpulseaudio
+  ];
+
+  buildPhase = ''
+    ./build.sh
+  '';
+
+  installPhase = ''
+    install -Dt $out/bin/ gpu-screen-recorder-gtk
+    install -Dt $out/share/applications/ gpu-screen-recorder-gtk.desktop
+
+    wrapProgram $out/bin/gpu-screen-recorder-gtk --prefix PATH : ${lib.makeBinPath [ gpu-screen-recorder ]}
+  '';
+
+  meta = with lib; {
+    description = "GTK frontend for gpu-screen-recorder.";
+    homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/lbry/default.nix b/nixpkgs/pkgs/applications/video/lbry/default.nix
index 460b0a176688..ea69ea547df8 100644
--- a/nixpkgs/pkgs/applications/video/lbry/default.nix
+++ b/nixpkgs/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.52.4";
+  version = "0.52.5";
 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 = "TWRFCVktSKs5PORtm8FvM6qNWuiL/1HN98ilr1busVUGvain0QXGZwB/Dzvsox1c+X9VofUdapzozSOT6r58qw==";
+      sha512 = "i0t1Ygf3el7Brh6TA804V6n5r5UczvOPxAdhyJ7Gvvg9VqN1+QXB6hsqF4jYTW3jcKxvorVALwrFDVezBTPv5g==";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 0928c7617f90..137731312b0e 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -47,13 +47,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "65.0.0";
+  version = "66.0.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "1zphcpfrzic9ialx3xxi2ywzxnllys667vy140bgdshzr798sg2p";
+    sha256 = "sha256-JTPayZhV3Z+o1v+TbHp9SGMAZk1oEzMdNhk67BYB75A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/vr-reversal.nix
new file mode 100644
index 000000000000..4c4aacef31dc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/vr-reversal.nix
@@ -0,0 +1,35 @@
+{ lib, stdenvNoCC, fetchFromGitHub, ffmpeg }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "vr-reversal";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "dfaker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wn2ngcvn7wcsl3kmj782x5q9130qw951lj6ilrkafp6q6zscpqr";
+  };
+
+  dontBuild = true;
+
+  # reset_rot is only available in ffmpeg 5.0, see 5bcc61ce87922ecccaaa0bd303a7e195929859a8
+  postPatch = lib.optionalString (lib.versionOlder ffmpeg.version "5.0") ''
+    substituteInPlace 360plugin.lua --replace ":reset_rot=1:" ":"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/mpv/scripts
+    cp -r 360plugin.lua $out/share/mpv/scripts/
+  '';
+
+  passthru.scriptName = "360plugin.lua";
+
+  meta = with lib; {
+    description = "Script for mpv to play VR video with optional saving of head tracking data.";
+    homepage = "https://github.com/dfaker/VR-reversal";
+    license = licenses.unlicense;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ schnusch ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/natron/default.nix b/nixpkgs/pkgs/applications/video/natron/default.nix
index ea8a801d1954..82eaa30bba3e 100644
--- a/nixpkgs/pkgs/applications/video/natron/default.nix
+++ b/nixpkgs/pkgs/applications/video/natron/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, qt4, pkg-config, boost, expat, cairo, python2Packages,
   cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip,
-  poppler, imagemagick, openexr, ffmpeg_3, opencolorio_1, openimageio,
+  poppler, imagemagick, openexr, ffmpeg, opencolorio_1, openimageio,
   qmake4Hook, libpng, libGL, lndir, libraw, openjpeg, libwebp, fetchFromGitHub }:
 
 let
@@ -74,7 +74,7 @@ let
       sha256 = "OQg6a5wNy9TFFySjmgd1subvXRxY/ZnSOCkaoUo+ZaA=";
       nativeBuildInputs = [ pkg-config ];
       buildInputs = [
-        libpng ffmpeg_3 openexr opencolorio_1 openimageio boost libGL
+        libpng ffmpeg openexr opencolorio_1 openimageio boost libGL
         seexpr libraw openjpeg libwebp
       ];
     })
@@ -135,5 +135,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = [ maintainers.puffnfresh ];
     platforms = platforms.linux;
+    broken = true; # Last evaluated on Hydra on 2021-05-18
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/p2pvc/default.nix b/nixpkgs/pkgs/applications/video/p2pvc/default.nix
index 35dceddf224e..f64af16709f6 100644
--- a/nixpkgs/pkgs/applications/video/p2pvc/default.nix
+++ b/nixpkgs/pkgs/applications/video/p2pvc/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, pkg-config, fetchFromGitHub, opencv2, ncurses, portaudio }:
 
 stdenv.mkDerivation {
-  name = "p2pvc";
+  pname = "p2pvc";
+  version = "unstable-2015-02-12";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ opencv2 ncurses portaudio ];
diff --git a/nixpkgs/pkgs/applications/video/pitivi/default.nix b/nixpkgs/pkgs/applications/video/pitivi/default.nix
index f22dd77b332a..7ae463b98730 100644
--- a/nixpkgs/pkgs/applications/video/pitivi/default.nix
+++ b/nixpkgs/pkgs/applications/video/pitivi/default.nix
@@ -12,6 +12,7 @@
 , libpeas
 , librsvg
 , gnome
+, gnome-desktop
 , libnotify
 , gsound
 , meson
@@ -52,7 +53,7 @@ python3Packages.buildPythonApplication rec {
     gtk3
     libpeas
     librsvg
-    gnome.gnome-desktop
+    gnome-desktop
     gsound
     gnome.adwaita-icon-theme
     gsettings-desktop-schemas
diff --git a/nixpkgs/pkgs/applications/video/qmplay2/default.nix b/nixpkgs/pkgs/applications/video/qmplay2/default.nix
index 9621b8864c9a..12864d3b40af 100644
--- a/nixpkgs/pkgs/applications/video/qmplay2/default.nix
+++ b/nixpkgs/pkgs/applications/video/qmplay2/default.nix
@@ -22,13 +22,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "qmplay2";
-  version = "21.12.24";
+  version = "22.03.19";
 
   src = fetchFromGitHub {
     owner = "zaps166";
     repo = "QMPlay2";
     rev = version;
-    sha256 = "sha256-SHReKh+M1rgSIiweYFgVvwMeKWeQD52S4KxEiTsyHrI=";
+    sha256 = "sha256-+EIv74dMm0zxZcCfa5wR6FJNJl5Xaes+/dCRQEBqFeo=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/video/smplayer/default.nix b/nixpkgs/pkgs/applications/video/smplayer/default.nix
index 6d4e0f18d6fb..eecb3a6b9749 100644
--- a/nixpkgs/pkgs/applications/video/smplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/smplayer/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smplayer";
-  version = "21.10.0";
+  version = "22.2.0";
 
   src = fetchFromGitHub {
     owner = "smplayer-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-p6036c8KX3GCINmkjHZlDLgHhLKri+t2WNWzP4KsSI8=";
+    hash = "sha256-7DMvIqW3vzjVzJPyjbXuHHcf1T6EFcf/a/mVYqa3XS8=";
   };
 
   nativeBuildInputs = [
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
     wrapQtAppsHook
   ];
 
-  buildInputs = [ qtscript ];
+  buildInputs = [
+    qtscript
+  ];
 
   dontUseQmakeConfigure = true;
 
diff --git a/nixpkgs/pkgs/applications/video/yuview/default.nix b/nixpkgs/pkgs/applications/video/yuview/default.nix
new file mode 100644
index 000000000000..440782a8b70a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/yuview/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qmake
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yuview";
+  version = "2.12.1";
+
+  src = fetchFromGitHub {
+    owner = "IENT";
+    repo = "YUView";
+    rev = "v${version}";
+    sha256 = "sha256-BQnlq6TBxGbwqn6lAZGBo4+2HeXdFYL33LKqKSXMvdY=";
+  };
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  patches = [ ./disable_version_check.patch ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://ient.github.io/YUView";
+    description = "YUV Viewer and Analysis Tool";
+    longDescription = ''
+      YUView is a Qt based YUV player with an advanced analytic toolset for
+      Linux, Windows and Mac. At its core, YUView is a powerful YUV player that
+      can open and show almost any YUV format. With its simple interface it is
+      easy to navigate through sequences and inspect details and a side by side
+      and comparison view can help to spot differences between two sequences. A
+      sophisticated statistics renderer can overlay the video with supplemental
+      information. More features include playlists, support for visual tests and
+      presentations, support of compressed formats (through libde265 and
+      FFmpeg), support for raw RGB files as well as image files and image
+      sequences, and many more. Further information can be found in the YUV help
+      in the application itself or in our wiki.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ leixb ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/yuview/disable_version_check.patch b/nixpkgs/pkgs/applications/video/yuview/disable_version_check.patch
new file mode 100644
index 000000000000..c13cb9e9b5bd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/yuview/disable_version_check.patch
@@ -0,0 +1,15 @@
+diff --git a/YUViewLib/src/common/Typedef.h b/YUViewLib/src/common/Typedef.h
+--- a/YUViewLib/src/common/Typedef.h
++++ b/YUViewLib/src/common/Typedef.h
+@@ -212,12 +212,7 @@ private:
+ #define YUVIEW_VERSION "Unknown"
+ #endif
+ 
+-#ifndef YUVIEW_HASH
+ #define VERSION_CHECK 0
+-#define YUVIEW_HASH 0
+-#else
+-#define VERSION_CHECK 1
+-#endif
+ 
+ #define MAX_RECENT_FILES 10