about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/graphics
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-06-23 00:32:22 +0200
committerAlyssa Ross <hi@alyssa.is>2024-06-23 00:32:22 +0200
commit6402b188ddd100b3cd6afe7b8a3e553365203f43 (patch)
tree676b85e4a6ffee092e413e723f7dce8ba01bb48f /nixpkgs/pkgs/applications/graphics
parent5a1826585861b32ce2509c0643e793196d81893e (diff)
parentd603719ec6e294f034936c0d0dc06f689d91b6c3 (diff)
downloadnixlib-master.tar
nixlib-master.tar.gz
nixlib-master.tar.bz2
nixlib-master.tar.lz
nixlib-master.tar.xz
nixlib-master.tar.zst
nixlib-master.zip
Merge remote-tracking branch 'nixpkgs/nixos-unstable' HEAD master
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics')
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix26
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/antimony/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/apitrace/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/artem/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/avocode/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/awesomebump/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/brlcad/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/graphics/ciano/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/curtail/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/curv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/deskew/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/djv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/djview/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/graphics/dosage/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawing/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawpile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/emulsion/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/f3d/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/feh/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/figma-linux/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/flaca/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/fstl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gcolor3/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-obfuscate/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/gpicview/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gqview/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/grafx2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/icon-library/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/identity/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/img-cat/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix100
-rw-r--r--nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/imv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch4
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix27
-rw-r--r--nixpkgs/pkgs/applications/graphics/ipe/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/json-plot/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/kgraphviewer/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/komikku/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/graphics/komorebi/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/krita/generic.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/litemdview/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/luminance-hdr/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/mangareader/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/graphics/meh/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/meme-image-generator/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/meshlab/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/mtpaint/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/mypaint/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/oculante/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/paraview/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/paraview/dont-redefine-strlcat.patch28
-rw-r--r--nixpkgs/pkgs/applications/graphics/pbrt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/photoflare/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/phototonic/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pika/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pizarra/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/potrace/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/processing/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pymeshlab/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/qimgv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/qosmic/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/graphics/rnote/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/config.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/solvespace/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/structorizer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/synfigstudio/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/tev/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/textual-paint/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/trimage/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-heaven/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-sanctuary/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-tropics/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-valley/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/upscayl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/veusz/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/vkdt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/xfig/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/xpano/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/xrgears/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/yacreader/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/yed/default.nix2
103 files changed, 220 insertions, 327 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
index a433cc6516de..99810a8d496f 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -36,13 +36,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imagemagick";
-  version = "6.9.12-68";
+  version = "6.9.13-10";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick6";
     rev = finalAttrs.version;
-    sha256 = "sha256-slQcA0cblxtG/1DiJx5swUh7Kfwgz5HG70eqJFLaQJI=";
+    sha256 = "sha256-AdlJaCJOrN+NkkzzzgELtgAr5iZ9dvlVYVc7tYiM+R8=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -115,30 +115,36 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     homepage = "https://legacy.imagemagick.org/";
     changelog = "https://legacy.imagemagick.org/script/changelog.php";
-    description = "A software suite to create, edit, compose, or convert bitmap images";
+    description = "Software suite to create, edit, compose, or convert bitmap images";
     pkgConfigModules = [ "ImageMagick" "MagickWand" ];
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ ];
     license = licenses.asl20;
     knownVulnerabilities = [
-      "CVE-2018-16328"
-      "CVE-2018-16329"
       "CVE-2019-13136"
       "CVE-2019-17547"
       "CVE-2020-25663"
       "CVE-2020-27768"
-      "CVE-2021-3596"
-      "CVE-2021-3596"
-      "CVE-2021-3596"
-      "CVE-2021-3610"
-      "CVE-2021-20244"
+      "CVE-2020-27769"
+      "CVE-2020-27829"
+      "CVE-2021-20243"
       "CVE-2021-20244"
       "CVE-2021-20310"
       "CVE-2021-20311"
       "CVE-2021-20312"
       "CVE-2021-20313"
+      "CVE-2021-3596"
       "CVE-2022-0284"
       "CVE-2022-2719"
+      "CVE-2023-1289"
+      "CVE-2023-2157"
+      "CVE-2023-34151"
+      "CVE-2023-34152"
+      "CVE-2023-34153"
+      "CVE-2023-3428"
+      "CVE-2023-34474"
+      "CVE-2023-34475"
+      "CVE-2023-5341"
     ];
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
index c15af9d94fb2..491ef7c1f538 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
@@ -135,13 +135,16 @@ stdenv.mkDerivation (finalAttrs: {
     inherit nixos-icons;
     inherit (perlPackages) ImageMagick;
     inherit (python3.pkgs) img2pdf;
-    pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    pkg-config = testers.hasPkgConfigModules {
+      package = finalAttrs.finalPackage;
+      version = lib.head (lib.splitString "-" finalAttrs.version);
+    };
   };
 
   meta = with lib; {
     homepage = "http://www.imagemagick.org/";
     changelog = "https://github.com/ImageMagick/Website/blob/main/ChangeLog.md";
-    description = "A software suite to create, edit, compose, or convert bitmap images";
+    description = "Software suite to create, edit, compose, or convert bitmap images";
     pkgConfigModules = [ "ImageMagick" "MagickWand" ];
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ erictapen dotlambda rhendric ];
diff --git a/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix b/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
index 4c1d309ebbab..eaec49ec89bb 100644
--- a/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ahoviewer/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/ahodesuka/ahoviewer";
-    description = "A GTK2 image viewer, manga reader, and booru browser";
+    description = "GTK2 image viewer, manga reader, and booru browser";
     mainProgram = "ahoviewer";
     maintainers = with maintainers; [ xzfc ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/antimony/default.nix b/nixpkgs/pkgs/applications/graphics/antimony/default.nix
index 56ee01f8bbe8..d39961da9077 100644
--- a/nixpkgs/pkgs/applications/graphics/antimony/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/antimony/default.nix
@@ -61,7 +61,7 @@ in
     ];
 
     meta = with lib; {
-      description = "A computer-aided design (CAD) tool from a parallel universe";
+      description = "Computer-aided design (CAD) tool from a parallel universe";
       mainProgram = "antimony";
       homepage    = "https://github.com/mkeeter/antimony";
       license     = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/apitrace/default.nix b/nixpkgs/pkgs/applications/graphics/apitrace/default.nix
index 8d642c67820e..c6057ccc285b 100644
--- a/nixpkgs/pkgs/applications/graphics/apitrace/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/apitrace/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "apitrace";
-  version = "11.1";
+  version = "12.0";
 
   src = fetchFromGitHub {
     owner = "apitrace";
     repo = "apitrace";
     rev = version;
-    hash = "sha256-rvC6iVWNNxH11hzQvRTo+SQi9jEUCPWGSdJmKJe9SQ0=";
+    hash = "sha256-Y2ceE0F7q5tP64Mtvkc7JHOZQN30MDVCPHfiWDnfTSQ=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/artem/default.nix b/nixpkgs/pkgs/applications/graphics/artem/default.nix
index 36d200ad07c4..8b391f104d83 100644
--- a/nixpkgs/pkgs/applications/graphics/artem/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/artem/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A small CLI program to convert images to ASCII art";
+    description = "Small CLI program to convert images to ASCII art";
     homepage = "https://github.com/finefindus/artem";
     changelog = "https://github.com/finefindus/artem/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/nixpkgs/pkgs/applications/graphics/avocode/default.nix b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
index c10f85a99dce..2bd13de7d5d6 100644
--- a/nixpkgs/pkgs/applications/graphics/avocode/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
@@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://avocode.com/";
-    description = "The bridge between designers and developers";
+    description = "Bridge between designers and developers";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix b/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
index ef9a2f7c7766..8f5b4c0c659c 100644
--- a/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
@@ -55,7 +55,7 @@ in mkDerivation {
 
   meta = {
     homepage = "https://github.com/kmkolasinski/AwesomeBump";
-    description = "A program to generate normal, height, specular or ambient occlusion textures from a single image";
+    description = "Program to generate normal, height, specular or ambient occlusion textures from a single image";
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/brlcad/default.nix b/nixpkgs/pkgs/applications/graphics/brlcad/default.nix
index f30a6acbbbee..91b063f8fc93 100644
--- a/nixpkgs/pkgs/applications/graphics/brlcad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/brlcad/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , fontconfig
 , libX11
@@ -11,15 +12,25 @@
 
 stdenv.mkDerivation rec {
   pname = "brlcad";
-  version = "7.34.2";
+  version = "7.38.2";
 
   src = fetchFromGitHub {
     owner = "BRL-CAD";
-    repo = pname;
+    repo = "brlcad";
     rev = "refs/tags/rel-${lib.replaceStrings [ "." ] [ "-" ] version}";
-    hash = "sha256-oafu255xElEIk8p4yvNyR2maykUfxQui/L5MkicA+JA=";
+    hash = "sha256-23UTeH4gY2x/QGYZ64glAkf6LmsXBAppIOHgoUdxgpo=";
   };
 
+  patches = [
+    # This commit was bringing an impurity in the rpath resulting in:
+    # RPATH of binary /nix/store/rq2hjvfgq2nvh5zxch51ij34rqqdpark-brlcad-7.38.0/bin/tclsh contains a forbidden reference to /build/
+    (fetchpatch {
+      url = "https://github.com/BRL-CAD/brlcad/commit/fbdbf042b2db4c7d46839a17bbf4985cdb81f0ae.patch";
+      revert = true;
+      hash = "sha256-Wfihd7TLkE8aOpLdDtYmhhd7nZijiVGh1nbUjWr/BjQ=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
   ];
@@ -36,11 +47,19 @@ stdenv.mkDerivation rec {
     "-DBRLCAD_ENABLE_STRICT=OFF"
   ];
 
+  env.NIX_CFLAGS_COMPILE = toString [
+    # Needed with GCC 12
+    "-Wno-error=array-bounds"
+  ];
+
   meta = with lib; {
     homepage = "https://brlcad.org";
     description = "BRL-CAD is a powerful cross-platform open source combinatorial solid modeling system";
+    changelog = "https://github.com/BRL-CAD/brlcad/releases/tag/${src.rev}";
     license = with licenses; [ lgpl21 bsd2 ];
     maintainers = with maintainers; [ GaetanLepage ];
     platforms = platforms.linux;
+    # error Exactly one of ON_LITTLE_ENDIAN or ON_BIG_ENDIAN should be defined.
+    broken = stdenv.system == "aarch64-linux";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/ciano/default.nix b/nixpkgs/pkgs/applications/graphics/ciano/default.nix
index 454a1d28c477..1106bd958194 100644
--- a/nixpkgs/pkgs/applications/graphics/ciano/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ciano/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/robertsanseries/ciano";
-    description = "A multimedia file converter focused on simplicity";
+    description = "Multimedia file converter focused on simplicity";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
index f66189e0c75c..eac82182f61d 100644
--- a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
@@ -11,7 +11,7 @@
 , flann
 , gdal
 , gmp
-, LASzip
+, laszip
 , mpfr
 , pdal
 , pcl
@@ -48,7 +48,7 @@ mkDerivation rec {
     flann
     gdal
     gmp
-    LASzip
+    laszip
     mpfr
     pdal
     pcl
diff --git a/nixpkgs/pkgs/applications/graphics/curtail/default.nix b/nixpkgs/pkgs/applications/graphics/curtail/default.nix
index 0ef67bdcc85f..6ff083d08f02 100644
--- a/nixpkgs/pkgs/applications/graphics/curtail/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/curtail/default.nix
@@ -20,14 +20,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "curtail";
-  version = "1.9.1";
+  version = "1.10.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Huluti";
     repo = "Curtail";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-9xTdT2mS3aWyimkxrNwCuWIzZ0dPE7w4xUwO53kKr30=";
+    sha256 = "sha256-xwpjyMMdjYMrd79/EzoNae4rQuq2VjwJRNoudNGD78E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/curv/default.nix b/nixpkgs/pkgs/applications/graphics/curv/default.nix
index 71793b861508..7113437245a3 100644
--- a/nixpkgs/pkgs/applications/graphics/curv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/curv/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A 2D and 3D geometric modelling programming language for creating art with maths";
+    description = "2D and 3D geometric modelling programming language for creating art with maths";
     homepage = "https://github.com/curv3d/curv";
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/graphics/deskew/default.nix b/nixpkgs/pkgs/applications/graphics/deskew/default.nix
index f43a26f692a3..71ed3051d084 100644
--- a/nixpkgs/pkgs/applications/graphics/deskew/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/deskew/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A command line tool for deskewing scanned text documents";
+    description = "Command line tool for deskewing scanned text documents";
     homepage = "https://galfar.vevb.net/deskew";
     license = with licenses; [ mit mpl11 ];
     maintainers = with maintainers; [ryantm];
diff --git a/nixpkgs/pkgs/applications/graphics/djv/default.nix b/nixpkgs/pkgs/applications/graphics/djv/default.nix
index 735807691af7..00d3d93a25e1 100644
--- a/nixpkgs/pkgs/applications/graphics/djv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/djv/default.nix
@@ -168,7 +168,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A professional review software for VFX, animation, and film production";
+    description = "Professional review software for VFX, animation, and film production";
     homepage = "https://darbyjohnston.github.io/DJV/";
     platforms = platforms.linux;
     maintainers = [ maintainers.blitz ];
diff --git a/nixpkgs/pkgs/applications/graphics/djview/default.nix b/nixpkgs/pkgs/applications/graphics/djview/default.nix
index 5bbbfc0c686c..3678b9760c81 100644
--- a/nixpkgs/pkgs/applications/graphics/djview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/djview/default.nix
@@ -1,6 +1,9 @@
 { lib, stdenv
 , mkDerivation
 , fetchurl
+, autoconf
+, automake
+, libtool
 , pkg-config
 , djvulibre
 , qtbase
@@ -12,14 +15,19 @@
 
 mkDerivation rec {
   pname = "djview";
-  version = "4.10.6";
+  version = "4.12";
+
+  outputs = [ "out" "man" ];
 
   src = fetchurl {
     url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
-    sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
+    hash = "sha256-VnPGqLfhlbkaFyCyQJGRW4FF3jSHnbEVi8k2sQDq8+M=";
   };
 
   nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
     pkg-config
     qttools
   ];
@@ -31,24 +39,24 @@ mkDerivation rec {
     libtiff
   ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AGL;
 
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
   configureFlags = [
     "--disable-silent-rules"
     "--disable-dependency-tracking"
     "--with-x"
     "--with-tiff"
-    # NOTE: 2019-09-19: experimental "--enable-npdjvu" fails
+    "--disable-nsdejavu" # 2023-11-14: modern browsers have dropped support for NPAPI
   ] ++ lib.optional stdenv.isDarwin "--enable-mac";
 
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-  };
-
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
+    description = "Portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
     mainProgram = "djview";
     homepage = "https://djvu.sourceforge.net/djview4.html";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ Anton-Latukha ];
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/graphics/dosage/default.nix b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
index d04820afad96..e943bf4f3181 100644
--- a/nixpkgs/pkgs/applications/graphics/dosage/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   meta = {
-    description = "A comic strip downloader and archiver";
+    description = "Comic strip downloader and archiver";
     mainProgram = "dosage";
     homepage = "https://dosage.rocks/";
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/drawing/default.nix b/nixpkgs/pkgs/applications/graphics/drawing/default.nix
index cf4b65021919..6f464a1ec0b4 100644
--- a/nixpkgs/pkgs/applications/graphics/drawing/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawing/default.nix
@@ -62,7 +62,7 @@ python3.pkgs.buildPythonApplication rec {
   strictDeps = false;
 
   meta = with lib; {
-    description = "A free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
+    description = "Free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
     mainProgram = "drawing";
     homepage = "https://maoschanz.github.io/drawing/";
     changelog = "https://github.com/maoschanz/drawing/releases/tag/${version}";
diff --git a/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index 330e88c50ef7..fdecceeac74e 100644
--- a/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -14,24 +14,24 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "24.2.5";
+  version = "24.4.8";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-8Cs+uME6uXWIWeuS9cgKnlYJG/m13l2BIVNDG0bqEmc=";
+    hash = "sha256-dtkRi7oisdgMAbaltPcz5umxcd6/F1WOjKQpJUAFFY0=";
   };
 
   # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
   postPatch = ''
-    sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.js
+    sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.cjs
   '';
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-tQFcdZc+4N6TYY6MDAwUgpaIvqYkU681DbuYCQhvJ1c=";
+    hash = "sha256-JbDIaO5jgPAoSD3hkMaKp3vLU5Avt+G5h427bvWJ08k=";
   };
 
   nativeBuildInputs = [
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A desktop application for creating diagrams";
+    description = "Desktop application for creating diagrams";
     homepage = "https://about.draw.io/";
     license = licenses.asl20;
     changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
diff --git a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
index 5c43c609f31f..0522879d9d3e 100644
--- a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
@@ -97,7 +97,7 @@ in mkDerivation rec {
   ];
 
   meta = {
-    description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
+    description = "Collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
     mainProgram = "drawpile-srv";
     homepage = "https://drawpile.net/";
     downloadPage = "https://drawpile.net/download/";
diff --git a/nixpkgs/pkgs/applications/graphics/emulsion/default.nix b/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
index 67342c57c846..a57a33e11b51 100644
--- a/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
@@ -68,7 +68,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast and minimalistic image viewer";
+    description = "Fast and minimalistic image viewer";
     homepage = "https://arturkovacs.github.io/emulsion-website/";
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/graphics/f3d/default.nix b/nixpkgs/pkgs/applications/graphics/f3d/default.nix
index 3b45ca987f1a..dd893ba9a976 100644
--- a/nixpkgs/pkgs/applications/graphics/f3d/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/f3d/default.nix
@@ -10,13 +10,14 @@
 , libGL
 , Cocoa
 , OpenGL
+, withManual ? !stdenv.isDarwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "f3d";
   version = "2.4.0";
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" ] ++ lib.optionals withManual [ "man" ];
 
   src = fetchFromGitHub {
     owner = "f3d-app";
@@ -27,8 +28,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+  ] ++ lib.optionals withManual [
+    # manpage
     help2man
     gzip
+  ] ++ lib.optionals stdenv.hostPlatform.isElf [
     # https://github.com/f3d-app/f3d/pull/1217
     autoPatchelfHook
   ];
@@ -41,7 +45,7 @@ stdenv.mkDerivation rec {
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
     "-DCMAKE_INSTALL_BINDIR=bin"
-
+  ] ++ lib.optionals withManual [
     "-DF3D_LINUX_GENERATE_MAN=ON"
   ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/feh/default.nix b/nixpkgs/pkgs/applications/graphics/feh/default.nix
index de43122b9080..f4adcace1ec4 100644
--- a/nixpkgs/pkgs/applications/graphics/feh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/feh/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
   doCheck = true;
 
   meta = with lib; {
-    description = "A light-weight image viewer";
+    description = "Light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
     # released under a variant of the MIT license
     # https://spdx.org/licenses/MIT-feh.html
diff --git a/nixpkgs/pkgs/applications/graphics/figma-linux/default.nix b/nixpkgs/pkgs/applications/graphics/figma-linux/default.nix
index 6c794c9706bb..55583cd18809 100644
--- a/nixpkgs/pkgs/applications/graphics/figma-linux/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/figma-linux/default.nix
@@ -10,11 +10,11 @@
 with lib;
 stdenv.mkDerivation (finalAttrs: {
   pname = "figma-linux";
-  version = "0.11.3";
+  version = "0.11.4";
 
   src = fetchurl {
     url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${finalAttrs.version}/figma-linux_${finalAttrs.version}_linux_amd64.deb";
-    hash = "sha256-9UfyCqgsg9XAFyZ7V7TogkQou4x+ixFUfjXZ1/qlDmA=";
+    hash = "sha256-ukUsNgWOtIRe54vsmRdI62syjIPwSsgNV7kITCw0YUQ=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook3 ];
diff --git a/nixpkgs/pkgs/applications/graphics/flaca/default.nix b/nixpkgs/pkgs/applications/graphics/flaca/default.nix
index 90fec04b36e5..b2d82b458b49 100644
--- a/nixpkgs/pkgs/applications/graphics/flaca/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/flaca/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-w+PeuH6VFIu3iH5EXF6gEwyYoGeqXX0yd5jJs2NqisQ=";
 
   meta = with lib; {
-    description = "A CLI tool to losslessly compress JPEG and PNG images";
+    description = "CLI tool to losslessly compress JPEG and PNG images";
     longDescription = "A CLI tool for x86-64 Linux machines that simplifies the task of maximally, losslessly compressing JPEG and PNG images for use in production web environments";
     homepage = "https://github.com/Blobfolio/flaca";
     maintainers = with maintainers; [ zzzsy ];
diff --git a/nixpkgs/pkgs/applications/graphics/fstl/default.nix b/nixpkgs/pkgs/applications/graphics/fstl/default.nix
index a004c2dd8d77..c3d1f5eb655e 100644
--- a/nixpkgs/pkgs/applications/graphics/fstl/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/fstl/default.nix
@@ -23,7 +23,7 @@ mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "The fastest STL file viewer";
+    description = "Fastest STL file viewer";
     mainProgram = "fstl";
     homepage = "https://github.com/fstl-app/fstl";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
index a5b89a605d55..38c38143ff9f 100644
--- a/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A simple color chooser written in GTK3";
+    description = "Simple color chooser written in GTK3";
     mainProgram = "gcolor3";
     homepage = "https://gitlab.gnome.org/World/gcolor3";
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
index 33ddbd9159fe..fe89869809e9 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
@@ -190,7 +190,7 @@ in stdenv.mkDerivation (finalAttrs: {
   };
 
   meta = with lib; {
-    description = "The GNU Image Manipulation Program";
+    description = "GNU Image Manipulation Program";
     homepage = "https://www.gimp.org/";
     maintainers = with maintainers; [ jtojnar ];
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
index b628cf816631..fe4904ee254a 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -147,7 +147,7 @@ in
     };
 
     meta = with lib; {
-      description = "The GIMP Animation Package";
+      description = "GIMP Animation Package";
       homepage = "https://www.gimp.org";
       # The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
       # falls inside "free".
diff --git a/nixpkgs/pkgs/applications/graphics/gnome-obfuscate/default.nix b/nixpkgs/pkgs/applications/graphics/gnome-obfuscate/default.nix
index 49499f7d7322..1a091929b3e4 100644
--- a/nixpkgs/pkgs/applications/graphics/gnome-obfuscate/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnome-obfuscate/default.nix
@@ -20,20 +20,20 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-obfuscate";
-  version = "0.0.9";
+  version = "0.0.10";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Obfuscate";
     rev = finalAttrs.version;
-    hash = "sha256-aUhzact437V/bSsG2Ddu2mC03LbyXFg+hJiuGy5NQfQ=";
+    hash = "sha256-/Plvvn1tle8t/bsPcsamn5d81CqnyGCyGYPF6j6U5NI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit (finalAttrs) src;
     name = "${finalAttrs.pname}-${finalAttrs.version}";
-    hash = "sha256-HUQvdCmzjdmuJGDLtC/86yzbRimLzx+XbW29f+Ua48w=";
+    hash = "sha256-9lrxK2psdIPGsOC6p8T+3AGPrX6PjrK9mFirdJqBSMM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
index 045a42d0e29d..d816adeb26ad 100644
--- a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch2
 , at-spi2-core
 , babl
 , dbus
diff --git a/nixpkgs/pkgs/applications/graphics/gpicview/default.nix b/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
index fcef4751eab7..901567784354 100644
--- a/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk2 ];
 
   meta = with lib; {
-    description = "A simple and fast image viewer for X";
+    description = "Simple and fast image viewer for X";
     homepage = "https://lxde.sourceforge.net/gpicview/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
diff --git a/nixpkgs/pkgs/applications/graphics/gqview/default.nix b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
index 8237473c79b1..89b86bf24b20 100644
--- a/nixpkgs/pkgs/applications/graphics/gqview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lm";
 
   meta = with lib; {
-    description = "A fast image viewer";
+    description = "Fast image viewer";
     homepage = "https://gqview.sourceforge.net";
     license = licenses.gpl2;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/graphics/grafx2/default.nix b/nixpkgs/pkgs/applications/graphics/grafx2/default.nix
index cd2d89d0e99c..fa80fe718ce4 100644
--- a/nixpkgs/pkgs/applications/graphics/grafx2/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/grafx2/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     homepage = "http://grafx2.eu/";
-    description = "The ultimate 256-color painting program";
+    description = "Ultimate 256-color painting program";
     longDescription = ''
       GrafX2 is a bitmap paint program inspired by the Amiga programs ​Deluxe
       Paint and Brilliance. Specialized in 256-color drawing, it includes a very
diff --git a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
index 0989c07d8a6f..6aaf257496cd 100644
--- a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -146,7 +146,7 @@ perlPackages.buildPerlPackage rec {
   '';
 
   meta = {
-    description = "A GUI to produce PDFs or DjVus from scanned documents";
+    description = "GUI to produce PDFs or DjVus from scanned documents";
     homepage = "https://gscan2pdf.sourceforge.net/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pacien ];
diff --git a/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix b/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
index a09b39bdadb4..c3468f65dcab 100644
--- a/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
@@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec {
   patches = [ ./0001-Changing-paths-to-be-nix-compatible.patch ];
 
   meta = {
-    description = "A screenshot frontend (CLI and GUI) for a variety of screenshot backends";
+    description = "Screenshot frontend (CLI and GUI) for a variety of screenshot backends";
 
     longDescription = ''
       gscreenshot provides a common frontend and expanded functionality to a
diff --git a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
index e2a0d62acae6..03d7be3dfad1 100644
--- a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
@@ -14,14 +14,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "572";
+  version = "578";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mLb4rUsoMDxl7lPrrRJq/bWSqZlgg94efHJzgykZJ/g=";
+    hash = "sha256-u2SXhL57iNVjRFqerzc/TByB9ArAJx81mxOjTBVBMkg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/icon-library/default.nix b/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
index 3dae4b0e1b68..2f4aae6dc261 100644
--- a/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , wrapGAppsHook4
 , cargo
 , desktop-file-utils
diff --git a/nixpkgs/pkgs/applications/graphics/identity/default.nix b/nixpkgs/pkgs/applications/graphics/identity/default.nix
index 8d9caa58543c..debc7e2f423b 100644
--- a/nixpkgs/pkgs/applications/graphics/identity/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/identity/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A program for comparing multiple versions of an image or video";
+    description = "Program for comparing multiple versions of an image or video";
     mainProgram = "identity";
     homepage = "https://gitlab.gnome.org/YaLTeR/identity";
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/img-cat/default.nix b/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
index 414f4b2a3b33..d148320b8698 100644
--- a/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-4kF+LwVNBY770wHLLcVlAqPoy4SNhbp2TxdNWRiJL6Q=";
 
   meta = with lib; {
-    description = "A tool to output images as RGB ANSI graphics on the terminal";
+    description = "Tool to output images as RGB ANSI graphics on the terminal";
     homepage = "https://github.com/trashhalo/imgcat";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
diff --git a/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix b/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix
deleted file mode 100644
index 72d9d9cc1e01..000000000000
--- a/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix
+++ /dev/null
@@ -1,100 +0,0 @@
-{ lib
-, stdenv
-, cmake
-, fetchFromGitHub
-, wrapQtAppsHook
-, qtmultimedia
-, qttools
-, qtdeclarative
-, qtnetworkauth
-, qtbase
-, makeWrapper
-, catch2
-, nodejs
-, libpulseaudio
-, openssl
-, rsync
-, typescript
-}:
-
-stdenv.mkDerivation rec {
-  pname = "imgbrd-grabber";
-  version = "7.10.0";
-
-  src = fetchFromGitHub {
-    owner = "Bionus";
-    repo = "imgbrd-grabber";
-    rev = "v${version}";
-    sha256 = "sha256-AT6pN2do0LlH6xAXKcFQv+oderD88/EiG1JnCw6kOOg=";
-    fetchSubmodules = true;
-  };
-
-  buildInputs = [
-    openssl
-    libpulseaudio
-    typescript
-  ];
-
-  nativeBuildInputs = [
-    makeWrapper
-    qtmultimedia
-    qtbase
-    qtdeclarative
-    qttools
-    qtnetworkauth
-    nodejs
-    cmake
-    wrapQtAppsHook
-  ];
-
-  extraOutputsToLink = [ "doc" ];
-
-  postPatch = ''
-    # the package.sh script provides some install helpers
-    # using this might make it easier to maintain/less likely for the
-    # install phase to fail across version bumps
-    patchShebangs ./scripts/package.sh
-
-    # ensure the script uses the rsync package from nixpkgs
-    substituteInPlace ../scripts/package.sh --replace "rsync" "${rsync}/bin/rsync"
-
-
-    # the npm build step only runs typescript
-    # run this step directly so it doesn't try and fail to download the unnecessary node_modules, etc.
-    substituteInPlace ./sites/CMakeLists.txt --replace "npm install" "npm run build"
-
-    # remove the vendored catch2
-    rm -rf tests/src/vendor/catch
-
-    # link the catch2 sources from nixpkgs
-    ln -sf ${catch2.src} tests/src/vendor/catch
-  '';
-
-  preBuild = ''
-    export HOME=$TMPDIR
-  '';
-
-  postInstall = ''
-    # move the binaries to the share/Grabber folder so
-    # some relative links can be resolved (e.g. settings.ini)
-    mv $out/bin/* $out/share/Grabber/
-
-    cd ../..
-    # run the package.sh with $out/share/Grabber as the $APP_DIR
-    sh ./scripts/package.sh $out/share/Grabber
-
-    # add symlinks for the binaries to $out/bin
-    ln -s $out/share/Grabber/Grabber $out/bin/Grabber
-    ln -s $out/share/Grabber/Grabber-cli $out/bin/Grabber-cli
-  '';
-
-  sourceRoot = "${src.name}/src";
-
-  meta = with lib; {
-    description = "Very customizable imageboard/booru downloader with powerful filenaming features";
-    license = licenses.asl20;
-    homepage = "https://bionus.github.io/imgbrd-grabber/";
-    mainProgram = "Grabber";
-    maintainers = [ maintainers.evanjs ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix b/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
index a4059ccba28b..7fac0a0d386c 100644
--- a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A Xinerama Aware Background Changer";
+    description = "Xinerama Aware Background Changer";
     homepage = "http://robotmonkeys.net/2010/03/30/imlibsetroot/";
     license = licenses.mitAdvertising;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/imv/default.nix b/nixpkgs/pkgs/applications/graphics/imv/default.nix
index 98aa410e9614..077979096cd7 100644
--- a/nixpkgs/pkgs/applications/graphics/imv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imv/default.nix
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A command line image viewer for tiling window managers";
+    description = "Command line image viewer for tiling window managers";
     homepage = "https://sr.ht/~exec64/imv/";
     license = licenses.mit;
     maintainers = with maintainers; [ rnhmjoj markus1189 ];
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
index 358931534ad9..c285fc311640 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
@@ -3,6 +3,7 @@
 , boehmgc
 , boost
 , cairo
+, callPackage
 , cmake
 , desktopToDarwinBundle
 , fetchurl
@@ -172,6 +173,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests.ps2pdf-plugin = callPackage ./test-ps2pdf-plugin.nix { };
+
   meta = with lib; {
     description = "Vector graphics editor";
     homepage = "https://www.inkscape.org";
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix b/nixpkgs/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix
index 59693cece620..3aef4497e1cf 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix
@@ -82,7 +82,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "An extension to drive Silhouette vinyl cutters (e.g. Cameo, Portrait, Curio series) from within Inkscape.";
+    description = "Extension to drive Silhouette vinyl cutters (e.g. Cameo, Portrait, Curio series) from within Inkscape";
     homepage = "https://github.com/fablabnbg/inkscape-silhouette";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ jfly ];
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch b/nixpkgs/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch
index 9cd8e4b34cb5..0a28533591e1 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch
@@ -6,7 +6,7 @@ diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/eps_input.
      <id>org.inkscape.input.eps</id>
      <dependency type="extension">org.inkscape.input.pdf</dependency>
 -    <dependency type="executable" location="path">ps2pdf</dependency>
-+    <dependency type="executable" location="path">@ghostscript@/bin/ps2pdf</dependency>
++    <dependency type="executable" location="absolute">@ghostscript@/bin/ps2pdf</dependency>
      <param name="crop" type="bool" gui-hidden="true">true</param>
      <param name="autorotate" type="optiongroup" appearance="combo" gui-text="Determine page orientation from text direction"
      gui-description="The PS/EPS importer can try to determine the page orientation such that the majority of the text runs left-to-right.">
@@ -18,7 +18,7 @@ diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.i
      <id>org.inkscape.input.postscript_input</id>
      <dependency type="extension">org.inkscape.input.pdf</dependency>
 -    <dependency type="executable" location="path">ps2pdf</dependency>
-+    <dependency type="executable" location="path">@ghostscript@/bin/ps2pdf</dependency>
++    <dependency type="executable" location="absolute">@ghostscript@/bin/ps2pdf</dependency>
      <param name="autorotate" type="optiongroup" appearance="combo" gui-text="Determine page orientation from text direction"
      gui-description="The PS/EPS importer can try to determine the page orientation such that the majority of the text runs left-to-right.">
          <option value="None">Disabled</option>
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix b/nixpkgs/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix
new file mode 100644
index 000000000000..3e55557c860e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix
@@ -0,0 +1,27 @@
+{ inkscape, runCommand, writeTextFile }:
+
+let
+  svg_file = writeTextFile {
+    name = "test.svg";
+    text = ''
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="50" height="50" version="1.1">
+  <ellipse cx="1" cy="1" rx="1" ry="1" />
+</svg>'';
+  };
+in
+runCommand "inkscape-test-eps"
+{
+  nativeBuildInputs = [ inkscape ];
+} ''
+  echo ps test
+  inkscape ${svg_file} --export-type=ps -o test.ps
+  inkscape test.ps -o test.ps.svg
+
+  echo eps test
+  inkscape ${svg_file} --export-type=eps -o test.eps
+  inkscape test.eps -o test.eps.svg
+
+  # inkscape does not return an error code, only does not create files
+  [[ -f test.ps.svg && -f test.eps.svg ]] && touch $out
+''
diff --git a/nixpkgs/pkgs/applications/graphics/ipe/default.nix b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
index fd5fb779517c..131881341f79 100644
--- a/nixpkgs/pkgs/applications/graphics/ipe/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An editor for drawing figures";
+    description = "Editor for drawing figures";
     homepage = "http://ipe.otfried.org"; # https not available
     license = licenses.gpl3Plus;
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/graphics/json-plot/default.nix b/nixpkgs/pkgs/applications/graphics/json-plot/default.nix
index 39c4b45cd1d6..b7d880ce42f2 100644
--- a/nixpkgs/pkgs/applications/graphics/json-plot/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/json-plot/default.nix
@@ -27,7 +27,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "Dead simple terminal plots from JSON (or CSV) data. Bar charts, line charts, scatter plots, histograms and heatmaps are supported.";
+    description = "Dead simple terminal plots from JSON (or CSV) data. Bar charts, line charts, scatter plots, histograms and heatmaps are supported";
     homepage = "https://github.com/sgreben/jp";
     license = licenses.mit;
     maintainers = with maintainers; [ urandom ];
diff --git a/nixpkgs/pkgs/applications/graphics/kgraphviewer/default.nix b/nixpkgs/pkgs/applications/graphics/kgraphviewer/default.nix
index 20098eabeff4..3758c091a831 100644
--- a/nixpkgs/pkgs/applications/graphics/kgraphviewer/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -28,7 +28,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A Graphviz dot graph viewer for KDE";
+    description = "Graphviz dot graph viewer for KDE";
     mainProgram = "kgraphviewer";
     license     = licenses.gpl2;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/applications/graphics/komikku/default.nix b/nixpkgs/pkgs/applications/graphics/komikku/default.nix
index bdc81a532fdc..6d938fe4bddc 100644
--- a/nixpkgs/pkgs/applications/graphics/komikku/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/komikku/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.46.0";
+  version = "1.48.1";
 
   format = "other";
 
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     rev = "v${version}";
-    hash = "sha256-0yobGclfZzv0S0HtqeTr4vzK5d6PTQNWMszP0B4k770=";
+    hash = "sha256-U4MmVK75tPYJStJ0RRjfbzSbpGLJ07rJg6ClHI+tAfM=";
   };
 
   nativeBuildInputs = [
@@ -62,6 +62,7 @@ python3.pkgs.buildPythonApplication rec {
     natsort
     piexif
     pillow
+    pillow-heif
     curl-cffi
     pygobject3
     python-magic
diff --git a/nixpkgs/pkgs/applications/graphics/komorebi/default.nix b/nixpkgs/pkgs/applications/graphics/komorebi/default.nix
index 261f451d07c2..4d60cde30cd3 100644
--- a/nixpkgs/pkgs/applications/graphics/komorebi/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/komorebi/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   passthru.tests.version = testers.testVersion { package = komorebi; };
 
   meta = with lib; {
-    description = "A beautiful and customizable wallpaper manager for Linux";
+    description = "Beautiful and customizable wallpaper manager for Linux";
     homepage = "https://github.com/Komorebi-Fork/komorebi";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ kranzes ];
diff --git a/nixpkgs/pkgs/applications/graphics/krita/generic.nix b/nixpkgs/pkgs/applications/graphics/krita/generic.nix
index 8df637ffa1ce..ff859b4ed7ed 100644
--- a/nixpkgs/pkgs/applications/graphics/krita/generic.nix
+++ b/nixpkgs/pkgs/applications/graphics/krita/generic.nix
@@ -73,7 +73,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A free and open source painting application";
+    description = "Free and open source painting application";
     homepage = "https://krita.org/";
     maintainers = with maintainers; [ abbradar sifmelcara nek0 ];
     mainProgram = "krita";
diff --git a/nixpkgs/pkgs/applications/graphics/litemdview/default.nix b/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
index 9fedae23069c..e07c22165277 100644
--- a/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://notabug.org/g0tsu/litemdview";
-    description = "A suckless markdown viewer";
+    description = "Suckless markdown viewer";
     longDescription = ''
       LiteMDview is a lightweight, extremely fast markdown viewer with lots of useful features. One of them is ability to use your prefered text editor to edit markdown files, every time you save the file, litemdview reloads those changes (I call it live-reload). It has a convinient navigation through local directories, has support for a basic "git-like" folders hierarchy as well as vimwiki projects.
 
diff --git a/nixpkgs/pkgs/applications/graphics/luminance-hdr/default.nix b/nixpkgs/pkgs/applications/graphics/luminance-hdr/default.nix
index 53d127857617..ef0f687d334b 100644
--- a/nixpkgs/pkgs/applications/graphics/luminance-hdr/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -34,7 +34,7 @@ mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://qtpfsgui.sourceforge.net/";
-    description = "A complete open source solution for HDR photography";
+    description = "Complete open source solution for HDR photography";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.hrdinka ];
diff --git a/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
index 1f1116096821..af6dffd24939 100644
--- a/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
@@ -54,7 +54,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A 3D fractal rendering engine";
+    description = "3D fractal rendering engine";
     mainProgram = "mandelbulber2";
     longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
     homepage = "https://mandelbulber.com";
diff --git a/nixpkgs/pkgs/applications/graphics/mangareader/default.nix b/nixpkgs/pkgs/applications/graphics/mangareader/default.nix
deleted file mode 100644
index 37a58ea0ba45..000000000000
--- a/nixpkgs/pkgs/applications/graphics/mangareader/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, wrapQtAppsHook
-, extra-cmake-modules
-, cmake
-, kio
-, ki18n
-, kxmlgui
-, kconfig
-, karchive
-, kcoreaddons
-, kconfigwidgets
-, nix-update-script
-}:
-
-stdenv.mkDerivation rec {
-  pname = "mangareader";
-  version = "2.1.0";
-
-  src = fetchFromGitHub {
-    owner = "g-fb";
-    repo = pname;
-    rev = version;
-    hash = "sha256-YZZcp+HS/P/GxWYyOpO35nByJSzv4HahzzrZSVRcCRs=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    extra-cmake-modules
-    wrapQtAppsHook
-  ];
-
-  buildInputs = [
-    kio
-    ki18n
-    kxmlgui
-    kconfig
-    karchive
-    kcoreaddons
-    kconfigwidgets
-  ];
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = with lib; {
-    description = "Qt manga reader for local files";
-    homepage = "https://github.com/g-fb/mangareader";
-    changelog = "https://github.com/g-fb/mangareader/releases/tag/${src.rev}";
-    platforms = platforms.linux;
-    license = with licenses; [ gpl3Plus cc-by-nc-sa-40 ];
-    maintainers = with maintainers; [ zendo ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/meh/default.nix b/nixpkgs/pkgs/applications/graphics/meh/default.nix
index 992a739bb377..49477277d92b 100644
--- a/nixpkgs/pkgs/applications/graphics/meh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meh/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   buildInputs = [ libXext libX11 libjpeg libpng giflib ];
 
   meta = {
-    description = "A minimal image viewer using raw XLib";
+    description = "Minimal image viewer using raw XLib";
     homepage = "https://www.johnhawthorn.com/meh/";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/meme-image-generator/default.nix b/nixpkgs/pkgs/applications/graphics/meme-image-generator/default.nix
index d9e21d3f57a2..e60351bf962d 100644
--- a/nixpkgs/pkgs/applications/graphics/meme-image-generator/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meme-image-generator/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
   vendorHash = null;
 
   meta = with lib; {
-    description = "A command line utility for creating image macro style memes";
+    description = "Command line utility for creating image macro style memes";
     homepage = "https://github.com/nomad-software/meme";
     license = licenses.mit;
     maintainers = [ maintainers.fgaz ];
diff --git a/nixpkgs/pkgs/applications/graphics/meshlab/default.nix b/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
index a77a39445c04..549780a8acb7 100644
--- a/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meshlab/default.nix
@@ -91,7 +91,7 @@ mkDerivation rec {
   '';
 
   meta = {
-    description = "A system for processing and editing 3D triangular meshes";
+    description = "System for processing and editing 3D triangular meshes";
     mainProgram = "meshlab";
     homepage = "https://www.meshlab.net/";
     license = lib.licenses.gpl3Only;
diff --git a/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix b/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
index 332acf25e498..991eb8925f37 100644
--- a/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "gtk3" "intl" "man" ];
 
   meta = {
-    description = "A simple GTK painting program";
+    description = "Simple GTK painting program";
     longDescription = ''
       mtPaint is a simple GTK painting program designed for
       creating icons and pixel based artwork.  It can edit indexed palette
diff --git a/nixpkgs/pkgs/applications/graphics/mypaint/default.nix b/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
index 0d261b5e6034..8abd4cba4846 100644
--- a/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mypaint/default.nix
@@ -132,7 +132,7 @@ in buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A graphics application for digital painters";
+    description = "Graphics application for digital painters";
     homepage = "http://mypaint.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/oculante/default.nix b/nixpkgs/pkgs/applications/graphics/oculante/default.nix
index c2f2840a5dee..3f3d39769f81 100644
--- a/nixpkgs/pkgs/applications/graphics/oculante/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/oculante/default.nix
@@ -22,16 +22,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.8.21";
+  version = "0.8.22";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = "oculante";
     rev = version;
-    hash = "sha256-2QX7cD9SjhLb82O8T90BTQGsy3/gDaNwoX4Mbe2H6s4=";
+    hash = "sha256-hsXrpHT+B1Oev+ygXj/2Ma3zszMuW6csgQGJGeYCiAM=";
   };
 
-  cargoHash = "sha256-VAWLs15xsjoT0VSJjS/j0wd5P7OjQGrvyUSHp4B8hHI=";
+  cargoHash = "sha256-X6KR+h+f/mdazqxo8xQK5geeZC12h8uQ3ENMKyaw7aw=";
 
   nativeBuildInputs = [
     cmake
@@ -73,7 +73,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A minimalistic crossplatform image viewer written in Rust";
+    description = "Minimalistic crossplatform image viewer written in Rust";
     homepage = "https://github.com/woelper/oculante";
     changelog = "https://github.com/woelper/oculante/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/paraview/default.nix b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
index 4fec6b2ad13c..3394fc6825c7 100644
--- a/nixpkgs/pkgs/applications/graphics/paraview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
@@ -6,13 +6,13 @@
 }:
 
 let
-  version = "5.11.2";
+  version = "5.12.0";
 
   docFiles = [
     (fetchurl {
       url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewTutorial-${version}.pdf";
       name = "Tutorial.pdf";
-      hash = "sha256-KIcd5GG+1L3rbj4qdLbc+eDa5Wy4+nqiVIxfHu5Tdpg=";
+      hash = "sha256-ETA799peqP9RAjcqPBwVb8egKfQJAuIXNgso+k8o50Q=";
     })
     (fetchurl {
       url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewGettingStarted-${version}.pdf";
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
     owner = "paraview";
     repo = "paraview";
     rev = "v${version}";
-    hash = "sha256-fe/4xxxlkal08vE971FudTnESFfGMYzuvSyAMS6HSxI=";
+    hash = "sha256-PAD48IlOU39TosjfTiDz7IjEeYEP/7F75M+8dYBIUxI=";
     fetchSubmodules = true;
   };
 
@@ -86,12 +86,6 @@ in stdenv.mkDerivation rec {
     qtsvg
   ];
 
-  patches = [
-    ./dont-redefine-strlcat.patch
-  ];
-
-  env.CXXFLAGS = "-include cstdint";
-
   postInstall = let docDir = "$out/share/paraview-${lib.versions.majorMinor version}/doc"; in
     lib.optionalString withDocs ''
       mkdir -p ${docDir};
diff --git a/nixpkgs/pkgs/applications/graphics/paraview/dont-redefine-strlcat.patch b/nixpkgs/pkgs/applications/graphics/paraview/dont-redefine-strlcat.patch
deleted file mode 100644
index d7e24e7d7305..000000000000
--- a/nixpkgs/pkgs/applications/graphics/paraview/dont-redefine-strlcat.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/VTK/ThirdParty/netcdf/vtknetcdf/include/vtk_netcdf_mangle.h	2023-11-27 21:11:33.562949964 +0100
-+++ b/VTK/ThirdParty/netcdf/vtknetcdf/include/vtk_netcdf_mangle.h	2023-11-27 21:11:33.562949964 +0100
-@@ -1246,7 +1246,7 @@
- #define write_numrecs vtknetcdf_write_numrecs
- 
- /* Only define strlcat conditionally, as it's provided by system headers on the BSDs. */
--#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(_BSD_SOURCE)
-+#ifndef HAVE_STRLCAT
- #define strlcat vtknetcdf_strlcat
- #endif
- 
---- a/VTK/ThirdParty/netcdf/vtknetcdf/config.h.in	2023-11-27 21:10:35.113525241 +0100
-+++ b/VTK/ThirdParty/netcdf/vtknetcdf/config.h.in	2023-11-27 21:10:55.241982399 +0100
-@@ -1,7 +1,5 @@
- /* config.h.in.  Generated from configure.ac by autoheader.  */
- 
--#include "vtk_netcdf_mangle.h"
--
- /* Define if building universal (internal helper macro) */
- #cmakedefine AC_APPLE_UNIVERSAL_BUILD
- 
-@@ -621,4 +619,6 @@
- #endif
- #endif
- 
-+#include "vtk_netcdf_mangle.h"
-+
- #include "ncconfigure.h"
diff --git a/nixpkgs/pkgs/applications/graphics/pbrt/default.nix b/nixpkgs/pkgs/applications/graphics/pbrt/default.nix
index 962f6dc97acd..07483df7e4d7 100644
--- a/nixpkgs/pkgs/applications/graphics/pbrt/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pbrt/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://pbrt.org/";
-    description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
+    description = "Renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
     platforms = platforms.linux;
     license = licenses.bsd2;
     maintainers = [ maintainers.juliendehos ];
diff --git a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
index 77458c3cc5af..d8ca4fbcabf1 100644
--- a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
@@ -60,7 +60,7 @@ buildGoModule rec {
   subPackages = [ "cmd/pdfcpu" ];
 
   meta = with lib; {
-    description = "A PDF processor written in Go";
+    description = "PDF processor written in Go";
     homepage = "https://pdfcpu.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ doronbehar ];
diff --git a/nixpkgs/pkgs/applications/graphics/photoflare/default.nix b/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
index 3f47a0073d24..bb79b8c8ddc0 100644
--- a/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
@@ -20,7 +20,7 @@ mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = "-I${graphicsmagick}/include/GraphicsMagick";
 
   meta = with lib; {
-    description = "A cross-platform image editor with a powerful features and a very friendly graphical user interface";
+    description = "Cross-platform image editor with a powerful features and a very friendly graphical user interface";
     mainProgram = "photoflare";
     homepage = "https://photoflare.io";
     maintainers = [ maintainers.omgbebebe ];
diff --git a/nixpkgs/pkgs/applications/graphics/phototonic/default.nix b/nixpkgs/pkgs/applications/graphics/phototonic/default.nix
index 345398435a07..e3fea1ee9c47 100644
--- a/nixpkgs/pkgs/applications/graphics/phototonic/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/phototonic/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An image viewer and organizer";
+    description = "Image viewer and organizer";
     mainProgram = "phototonic";
     homepage = "https://github.com/oferkv/phototonic";
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix b/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix
index fd736c3ec7ab..98980ed7fd46 100644
--- a/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pick-colour-picker/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     homepage = "https://kryogenix.org/code/pick/";
     license = licenses.mit;
     platforms = platforms.linux;
-    description = "A colour picker that remembers where you picked colours from";
+    description = "Colour picker that remembers where you picked colours from";
     mainProgram = "pick-colour-picker";
     maintainers = [ maintainers.mkg20001 ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/pika/default.nix b/nixpkgs/pkgs/applications/graphics/pika/default.nix
index b9cbf142a21f..e1e5726eb54d 100644
--- a/nixpkgs/pkgs/applications/graphics/pika/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pika/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://superhighfives.com/pika";
-    description = "An open-source colour picker app for macOS";
+    description = "Open-source colour picker app for macOS";
     platforms = platforms.darwin;
     license = licenses.mit;
     maintainers = with maintainers; [ arkivm ];
diff --git a/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix b/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
index 2c94b4645c56..0ae800710d48 100644
--- a/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A Beautifully Designed Image and Photo Editor for Windows and Linux";
+    description = "Beautifully Designed Image and Photo Editor for Windows and Linux";
     homepage = "http://www.pixeluvo.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
diff --git a/nixpkgs/pkgs/applications/graphics/pizarra/default.nix b/nixpkgs/pkgs/applications/graphics/pizarra/default.nix
index 6fd94f57e1e7..c636637763d7 100644
--- a/nixpkgs/pkgs/applications/graphics/pizarra/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pizarra/default.nix
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A simple blackboard written in GTK";
+    description = "Simple blackboard written in GTK";
     mainProgram = "pizarra";
     longDescription = ''
       A simple endless blackboard.
diff --git a/nixpkgs/pkgs/applications/graphics/potrace/default.nix b/nixpkgs/pkgs/applications/graphics/potrace/default.nix
index b46c2060ede0..5a7093396283 100644
--- a/nixpkgs/pkgs/applications/graphics/potrace/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/potrace/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://potrace.sourceforge.net/";
-    description = "A tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image";
+    description = "Tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image";
     platforms = platforms.unix;
     maintainers = [ maintainers.pSub ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/applications/graphics/processing/default.nix b/nixpkgs/pkgs/applications/graphics/processing/default.nix
index d71ded259e83..9ea148323cde 100644
--- a/nixpkgs/pkgs/applications/graphics/processing/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/processing/default.nix
@@ -106,7 +106,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A language and IDE for electronic arts";
+    description = "Language and IDE for electronic arts";
     homepage = "https://processing.org";
     license = with licenses; [ gpl2Only lgpl21Only ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/pymeshlab/default.nix b/nixpkgs/pkgs/applications/graphics/pymeshlab/default.nix
index 5bf8339797b4..255b14f09211 100644
--- a/nixpkgs/pkgs/applications/graphics/pymeshlab/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pymeshlab/default.nix
@@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = {
-    description = "The open source mesh processing python library";
+    description = "Open source mesh processing python library";
     homepage = "https://github.com/cnr-isti-vclab/PyMeshLab";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ nim65s ];
diff --git a/nixpkgs/pkgs/applications/graphics/qimgv/default.nix b/nixpkgs/pkgs/applications/graphics/qimgv/default.nix
index c6789fd05738..f4eedb6c3fb0 100644
--- a/nixpkgs/pkgs/applications/graphics/qimgv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/qimgv/default.nix
@@ -54,7 +54,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A Qt5 image viewer with optional video support";
+    description = "Qt5 image viewer with optional video support";
     mainProgram = "qimgv";
     homepage = "https://github.com/easymodo/qimgv";
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/applications/graphics/qosmic/default.nix b/nixpkgs/pkgs/applications/graphics/qosmic/default.nix
index a3a688fd0366..ebee900cf9d6 100644
--- a/nixpkgs/pkgs/applications/graphics/qosmic/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/qosmic/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A cosmic recursive flame fractal editor";
+    description = "Cosmic recursive flame fractal editor";
     mainProgram = "qosmic";
     homepage = "https://github.com/bitsed/qosmic";
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix b/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix
index bf84ac1df11b..14c3a0dc7ef2 100644
--- a/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/rawtherapee/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchurl
 , cmake
 , pkg-config
 , wrapGAppsHook3
@@ -37,6 +38,14 @@ stdenv.mkDerivation rec {
     forceFetchGit = true;
   };
 
+  # https://github.com/Beep6581/RawTherapee/issues/7074
+  patches = [
+    (fetchurl {
+      url = "https://github.com/Beep6581/RawTherapee/commit/6b9f45c69c1ddfc3607d3d9c1206dcf1def30295.diff";
+      hash = "sha256-3Rti9HV8N1ueUm5B9qxEZL7Lb9bBb+iy2AGKMpJ9YOM=";
+    })
+  ];
+
   postPatch = ''
     echo "set(HG_VERSION ${version})" > ReleaseInfo.cmake
     substituteInPlace tools/osx/Info.plist.in rtgui/config.h.in \
diff --git a/nixpkgs/pkgs/applications/graphics/rnote/default.nix b/nixpkgs/pkgs/applications/graphics/rnote/default.nix
index 2d60d46d612a..1e189138eba2 100644
--- a/nixpkgs/pkgs/applications/graphics/rnote/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/rnote/default.nix
@@ -93,5 +93,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda gepbird yrd ];
     platforms = platforms.unix;
+    # compiler error since 2023-11-17
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/sane/config.nix b/nixpkgs/pkgs/applications/graphics/sane/config.nix
index 8c7b94faca6c..0405eeb05c2c 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/config.nix
+++ b/nixpkgs/pkgs/applications/graphics/sane/config.nix
@@ -29,8 +29,8 @@ installSanePath = path: ''
       fi
     '';
     disableBackend = backend: ''
-      grep -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; }
-      substituteInPlace $out/etc/sane.d/dll.conf --replace '${backend}' '# ${backend} disabled in nixos config'
+      grep -w -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; }
+      sed -i 's/\b${backend}\b/# ${backend} disabled by nixos config/' $out/etc/sane.d/dll.conf
     '';
 in
 stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/applications/graphics/solvespace/default.nix b/nixpkgs/pkgs/applications/graphics/solvespace/default.nix
index 610ef336a9e3..fc360943fae3 100644
--- a/nixpkgs/pkgs/applications/graphics/solvespace/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/solvespace/default.nix
@@ -92,7 +92,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DENABLE_OPENMP=ON" ];
 
   meta = with lib; {
-    description = "A parametric 3d CAD program";
+    description = "Parametric 3d CAD program";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.edef ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/structorizer/default.nix b/nixpkgs/pkgs/applications/graphics/structorizer/default.nix
index 46332a12907a..6ed9cc102141 100644
--- a/nixpkgs/pkgs/applications/graphics/structorizer/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/structorizer/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "structorizer";
-  version = "3.32-21";
+  version = "3.32-22";
 
   desktopItems = [
     (makeDesktopItem {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "fesch";
     repo = "Structorizer.Desktop";
     rev = version;
-    hash = "sha256-pwakwIMmG7A0Rw8XYH/f2PkzzX9bIADL0+52Ucawn3Q=";
+    hash = "sha256-rUeb7V3l9nvmw+EuOEksHB+r6TjsLJHjRpHDQKpno1Q=";
   };
 
   patches = [ ./makeStructorizer.patch ./makeBigJar.patch ];
diff --git a/nixpkgs/pkgs/applications/graphics/synfigstudio/default.nix b/nixpkgs/pkgs/applications/graphics/synfigstudio/default.nix
index 858fef718aaa..f1edfe81fb63 100644
--- a/nixpkgs/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/synfigstudio/default.nix
@@ -144,7 +144,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
-    description = "A 2D animation program";
+    description = "2D animation program";
     homepage = "http://www.synfig.org";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.goibhniu ];
diff --git a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
index 88cda12a9c5e..bfee4bdb2774 100644
--- a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkg-config
-, leptonica, libpng, libtiff, icu, pango, opencl-headers, fetchpatch }:
+, leptonica, libpng, libtiff, icu, pango, opencl-headers }:
 
 stdenv.mkDerivation rec {
   pname = "tesseract";
diff --git a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
index b6d7e160818c..be81a3dd21c9 100644
--- a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
+++ b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, curl, leptonica, libarchive, libpng, libtiff, icu, pango, opencl-headers, fetchpatch
+, curl, leptonica, libarchive, libpng, libtiff, icu, pango, opencl-headers
 , Accelerate, CoreGraphics, CoreVideo
 }:
 
diff --git a/nixpkgs/pkgs/applications/graphics/tev/default.nix b/nixpkgs/pkgs/applications/graphics/tev/default.nix
index 7447e549465a..288eb7aef6ca 100644
--- a/nixpkgs/pkgs/applications/graphics/tev/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/tev/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   env.CXXFLAGS = "-include cstdint";
 
   meta = with lib; {
-    description = "A high dynamic range (HDR) image comparison tool";
+    description = "High dynamic range (HDR) image comparison tool";
     mainProgram = "tev";
     longDescription = ''
       A high dynamic range (HDR) image comparison tool for graphics people. tev
diff --git a/nixpkgs/pkgs/applications/graphics/textual-paint/default.nix b/nixpkgs/pkgs/applications/graphics/textual-paint/default.nix
index 89d94d6f4c7e..c11a5cd632d7 100644
--- a/nixpkgs/pkgs/applications/graphics/textual-paint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/textual-paint/default.nix
@@ -70,7 +70,7 @@ python.pkgs.buildPythonApplication rec {
   pythonImportsCheck = [ "textual_paint" ];
 
   meta = with lib; {
-    description = "A TUI image editor inspired by MS Paint";
+    description = "TUI image editor inspired by MS Paint";
     homepage = "https://github.com/1j01/textual-paint";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/nixpkgs/pkgs/applications/graphics/trimage/default.nix b/nixpkgs/pkgs/applications/graphics/trimage/default.nix
index 269ffa585233..4a0bf082c10a 100644
--- a/nixpkgs/pkgs/applications/graphics/trimage/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/trimage/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A cross-platform tool for optimizing PNG and JPG files";
+    description = "Cross-platform tool for optimizing PNG and JPG files";
     homepage = "https://github.com/Kilian/Trimage";
     license = lib.licenses.mit;
     mainProgram = "trimage";
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-heaven/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-heaven/default.nix
index 1677e4d65eef..96492ef9e61a 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-heaven/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-heaven/default.nix
@@ -98,11 +98,12 @@ stdenv.mkDerivation
 
   meta =
     {
-      description = "The Unigine Heaven GPU benchmarking tool";
+      description = "Unigine Heaven GPU benchmarking tool";
       homepage = "https://benchmark.unigine.com/heaven";
       sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
       license = lib.licenses.unfree;
       maintainers = [ lib.maintainers.BarinovMaxim ];
       platforms = [ "x86_64-linux" "i686-linux" ];
+      mainProgram = "heaven";
     };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-sanctuary/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-sanctuary/default.nix
index b62df6f56eea..15565aa4083d 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-sanctuary/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-sanctuary/default.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec{
   dontUnpack = true;
 
   meta = {
-    description = "The Unigine Heaven GPU benchmarking tool";
+    description = "Unigine Heaven GPU benchmarking tool";
     homepage = "https://benchmark.unigine.com/sanctuary";
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfree;
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
index 07813cbc415e..926fe1a1d744 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
@@ -137,7 +137,7 @@ buildFHSEnv {
   '';
 
   meta = {
-    description = "The Unigine Superposition GPU benchmarking tool";
+    description = "Unigine Superposition GPU benchmarking tool";
     homepage = "https://benchmark.unigine.com/superposition";
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfree;
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-tropics/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-tropics/default.nix
index f75aa81e45f5..6053db7a3f6e 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-tropics/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-tropics/default.nix
@@ -86,7 +86,7 @@ stdenv.mkDerivation {
   dontUnpack = true;
 
   meta = {
-    description = "The Unigine Heaven GPU benchmarking tool";
+    description = "Unigine Heaven GPU benchmarking tool";
     homepage = "https://benchmark.unigine.com/tropics";
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfree;
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-valley/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-valley/default.nix
index 6d73cf82cd66..ff6f30b6c5e9 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-valley/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-valley/default.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
   stripDebugList = [ "${instPath}/bin" ];
 
   meta = {
-    description = "The Unigine Valley GPU benchmarking tool";
+    description = "Unigine Valley GPU benchmarking tool";
     homepage = "https://unigine.com/products/benchmarks/valley/";
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf
diff --git a/nixpkgs/pkgs/applications/graphics/upscayl/default.nix b/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
index 12518b6f40a2..202900983e14 100644
--- a/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
@@ -4,11 +4,11 @@
   lib,
 }: let
   pname = "upscayl";
-  version = "2.11.0";
+  version = "2.11.5";
 
   src = fetchurl {
     url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
-    hash = "sha256-XhvOzARP8Ytlf23vNMYZ5x1UKvKOlM/69yhysasW3dA=";
+    hash = "sha256-owxSm8t7rHM5ywJPp8sJQ5aAyNKgrbyJY6qFp78/UhM=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix b/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
index 402d820843dd..21a038994904 100644
--- a/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vengi-tools";
-  version = "0.0.31";
+  version = "0.0.32";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-0ta7rBWc4qUqsKDU/KSzx2x+fF2GVw77lQvRgt4bkpI=";
+    hash = "sha256-3oL+hRFATdJmBmZK55Ui2blj8LTqt/zJWJ85kSUFCY4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/veusz/default.nix b/nixpkgs/pkgs/applications/graphics/veusz/default.nix
index 67f5a76e5e97..d5ccbf716619 100644
--- a/nixpkgs/pkgs/applications/graphics/veusz/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/veusz/default.nix
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A scientific plotting and graphing program with a GUI";
+    description = "Scientific plotting and graphing program with a GUI";
     mainProgram = "veusz";
     homepage = "https://veusz.github.io/";
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/vkdt/default.nix b/nixpkgs/pkgs/applications/graphics/vkdt/default.nix
index e7776062de44..ee9357bc04af 100644
--- a/nixpkgs/pkgs/applications/graphics/vkdt/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/vkdt/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A vulkan-powered raw image processor";
+    description = "Vulkan-powered raw image processor";
     homepage = "https://github.com/hanatos/vkdt";
     license = licenses.bsd2;
     maintainers = with maintainers; [ paperdigits ];
diff --git a/nixpkgs/pkgs/applications/graphics/xfig/default.nix b/nixpkgs/pkgs/applications/graphics/xfig/default.nix
index cb96daeb1270..1929bff925fb 100644
--- a/nixpkgs/pkgs/applications/graphics/xfig/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xfig/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     changelog = "https://sourceforge.net/p/mcj/xfig/ci/${version}/tree/CHANGES";
-    description = "An interactive drawing tool for X11";
+    description = "Interactive drawing tool for X11";
     mainProgram = "xfig";
     longDescription = ''
       Note that you need to have the <literal>netpbm</literal> tools
diff --git a/nixpkgs/pkgs/applications/graphics/xpano/default.nix b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
index c4b43c5963fe..cd6f5ff85034 100644
--- a/nixpkgs/pkgs/applications/graphics/xpano/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A panorama stitching tool";
+    description = "Panorama stitching tool";
     mainProgram = "Xpano";
     homepage = "https://krupkat.github.io/xpano/";
     changelog = "https://github.com/krupkat/xpano/releases/tag/v${version}";
diff --git a/nixpkgs/pkgs/applications/graphics/xrgears/default.nix b/nixpkgs/pkgs/applications/graphics/xrgears/default.nix
index 2f367e8a70d5..cdb0977b4e97 100644
--- a/nixpkgs/pkgs/applications/graphics/xrgears/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xrgears/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://gitlab.freedesktop.org/monado/demos/xrgears";
-    description = "An OpenXR example using Vulkan for rendering";
+    description = "OpenXR example using Vulkan for rendering";
     mainProgram = "xrgears";
     platforms = platforms.linux;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
index 9487e0c352fe..d3cead367169 100644
--- a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
@@ -19,7 +19,7 @@ mkDerivation rec {
   propagatedBuildInputs = [ qtquickcontrols2 qtgraphicaleffects qtdeclarative ];
 
   meta = {
-    description = "A comic reader for cross-platform reading and managing your digital comic collection";
+    description = "Comic reader for cross-platform reading and managing your digital comic collection";
     homepage = "http://www.yacreader.com";
     license = lib.licenses.gpl3;
     mainProgram = "YACReader";
diff --git a/nixpkgs/pkgs/applications/graphics/yed/default.nix b/nixpkgs/pkgs/applications/graphics/yed/default.nix
index 7c6029312c8c..3599cf70032a 100644
--- a/nixpkgs/pkgs/applications/graphics/yed/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yed/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     homepage = "https://www.yworks.com/products/yed";
-    description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
+    description = "Powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
     platforms = jre.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
     mainProgram = "yed";