summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/video/yuview/default.nix45
-rw-r--r--pkgs/applications/video/yuview/disable_version_check.patch15
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/qt5-packages.nix1
4 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/applications/video/yuview/default.nix b/pkgs/applications/video/yuview/default.nix
new file mode 100644
index 0000000000000..440782a8b70aa
--- /dev/null
+++ b/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/pkgs/applications/video/yuview/disable_version_check.patch b/pkgs/applications/video/yuview/disable_version_check.patch
new file mode 100644
index 0000000000000..c13cb9e9b5bdd
--- /dev/null
+++ b/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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0bc874b8c8794..848e1803404e7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -30181,6 +30181,8 @@ with pkgs;
 
   ytmdl = callPackage ../tools/misc/ytmdl { };
 
+  yuview = libsForQt5.yuview;
+
   zam-plugins = callPackage ../applications/audio/zam-plugins { };
 
   zammad = callPackage ../applications/networking/misc/zammad { };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 751236fdcb4ba..bab473bd8a0c3 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -226,4 +226,5 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   soundkonverter = callPackage ../applications/audio/soundkonverter {};
 
+  yuview = callPackage ../applications/video/yuview { };
 })))