about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics')
-rw-r--r--nixpkgs/pkgs/applications/graphics/azpainter/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/dia/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/digikam/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/fiji/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch7
-rw-r--r--nixpkgs/pkgs/applications/graphics/freecad/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/graphics/ipe/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/kphotoalbum/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/graphics/krita/generic.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/lorien/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/oculante/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/openscad/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/photoflare/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/photoqt/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/pikopixel/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/structorizer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/texturepacker/default.nix49
-rw-r--r--nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/viewnior/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/xpano/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/xpano/skip_prefix_check.patch18
22 files changed, 142 insertions, 56 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
index a780fc039a14..ac52af2a7d4c 100644
--- a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "azpainter";
-  version = "3.0.6";
+  version = "3.0.7";
 
   src = fetchFromGitLab {
     owner = "azelpg";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/shmLdZ4mCBZAeUuqJtCiUjeI8B5f/8dIGPqmXMjZ1I=";
+    hash = "sha256-RlsiN9pefpTYUh4M8j4Ty/Ipi9StoVcNcICd7QDirhI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/dia/default.nix b/nixpkgs/pkgs/applications/graphics/dia/default.nix
index 093a53978a06..eb9d54d5cfc1 100644
--- a/nixpkgs/pkgs/applications/graphics/dia/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/dia/default.nix
@@ -15,6 +15,7 @@
 , pkg-config
 , poppler
 , python3
+, wrapGAppsHook
   # Building with docs are still failing in unstable-2023-09-28
 , withDocs ? false
 }:
@@ -59,6 +60,7 @@ stdenv.mkDerivation {
     meson
     ninja
     pkg-config
+    wrapGAppsHook
   ] ++
   lib.optionals withDocs [
     dblatex
diff --git a/nixpkgs/pkgs/applications/graphics/digikam/default.nix b/nixpkgs/pkgs/applications/graphics/digikam/default.nix
index 2a7e0e9ac0fc..be714028ec9a 100644
--- a/nixpkgs/pkgs/applications/graphics/digikam/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/digikam/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, config, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
+{ mkDerivation, config, lib, fetchpatch, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
 
 # For `digitaglinktree`
 , perl, sqlite
@@ -67,6 +67,14 @@ mkDerivation rec {
     hash = "sha256-BQPANORF/0JPGKZxXAp6eb5KXgyCs+vEYaIc7DdFpbM=";
   };
 
+  # Fix build against exiv2 0.28.1
+  patches = [
+    (fetchpatch {
+      url = "https://invent.kde.org/graphics/digikam/-/commit/f5ea91a7f6c1926815ec68f3e0176d6c15b83051.patch";
+      hash = "sha256-5g2NaKKNKVfgW3dTO/IP/H/nZ0YAIOmdPAumy3NEaNg=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     doxygen
diff --git a/nixpkgs/pkgs/applications/graphics/fiji/default.nix b/nixpkgs/pkgs/applications/graphics/fiji/default.nix
index 039eb45a2967..e3847b98d519 100644
--- a/nixpkgs/pkgs/applications/graphics/fiji/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/fiji/default.nix
@@ -71,6 +71,6 @@ stdenv.mkDerivation rec {
       binaryNativeCode
     ];
     license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ];
-    maintainers = with maintainers; [ zane ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch b/nixpkgs/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
index 371da24680e0..27e5fb81b8d0 100644
--- a/nixpkgs/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
+++ b/nixpkgs/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
@@ -24,12 +24,13 @@ diff --git a/src/Base/Interpreter.cpp b/src/Base/Interpreter.cpp
 index 52c47168af..9966bd0013 100644
 --- a/src/Base/Interpreter.cpp
 +++ b/src/Base/Interpreter.cpp
-@@ -554,7 +554,7 @@ void initInterpreter(int argc,char *argv[])
+@@ -554,7 +554,9 @@ void initInterpreter(int argc,char *argv[])
  {

      PyStatus status;

      PyConfig config;

--    PyConfig_InitIsolatedConfig(&config);

-+    PyConfig_InitPythonConfig(&config);

+     PyConfig_InitIsolatedConfig(&config);

++    config.isolated = 0;

++    config.use_environment = 1;

  

      status = PyConfig_SetBytesArgv(&config, argc, argv);

      if (PyStatus_Exception(status)) {

diff --git a/nixpkgs/pkgs/applications/graphics/freecad/default.nix b/nixpkgs/pkgs/applications/graphics/freecad/default.nix
index 76b2a38320d8..857365cd66d5 100644
--- a/nixpkgs/pkgs/applications/graphics/freecad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/freecad/default.nix
@@ -9,6 +9,7 @@
 , boost
 , coin3d
 , eigen
+, freecad  # for passthru.tests
 , gfortran
 , gts
 , hdf5
@@ -35,6 +36,7 @@
 , qtwebengine
 , qtx11extras
 , qtxmlpatterns
+, runCommand  # for passthru.tests
 , scipy
 , shiboken2
 , soqt
@@ -147,6 +149,21 @@ stdenv.mkDerivation (finalAttrs: {
     ln -s $out/bin/FreeCADCmd $out/bin/freecadcmd
   '';
 
+  passthru.tests = {
+    # Check that things such as argument parsing still work correctly with
+    # the above PYTHONPATH patch. Previously the patch used above changed
+    # the `PyConfig_InitIsolatedConfig` to `PyConfig_InitPythonConfig`,
+    # which caused the built-in interpreter to attempt (and fail) to doubly
+    # parse argv. This should catch if that ever regresses and also ensures
+    # that PYTHONPATH is still respected enough for the FreeCAD console to
+    # successfully run and check that it was included in `sys.path`.
+    python-path = runCommand "freecad-test-console" {
+      nativeBuildInputs = [ freecad ];
+    } ''
+      HOME="$(mktemp -d)" PYTHONPATH="$(pwd)/test" FreeCADCmd --log-file $out -c "if not '$(pwd)/test' in sys.path: sys.exit(1)" </dev/null
+    '';
+  };
+
   meta = {
     homepage = "https://www.freecad.org";
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
diff --git a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
index 575f93efcb27..85b067d9fb29 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
@@ -40,6 +40,7 @@
 , python3
 , substituteAll
 , wrapGAppsHook
+, libepoxy
 , zlib
 }:
 let
@@ -48,12 +49,17 @@ let
       appdirs
       beautifulsoup4
       cachecontrol
-      filelock
+    ]
+    # CacheControl requires extra runtime dependencies for FileCache
+    # https://gitlab.com/inkscape/extras/extension-manager/-/commit/9a4acde6c1c028725187ff5972e29e0dbfa99b06
+    ++ cachecontrol.optional-dependencies.filecache
+    ++ [
       numpy
       lxml
       packaging
       pillow
       scour
+      pyparsing
       pyserial
       requests
       pygobject3
@@ -61,11 +67,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.2.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.xz";
-    sha256 = "oMf9DQPAohU15kjvMB3PgN18/B81ReUQZfvxuj7opcQ=";
+    url = "https://inkscape.org/release/inkscape-${version}/source/archive/xz/dl/inkscape-${version}.tar.xz";
+    sha256 = "sha256-v08oawJeAWm4lIzBTVGZqbTCBNdhyJTEtISWVx7HYwc=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
@@ -143,6 +149,7 @@ stdenv.mkDerivation rec {
     potrace
     python3Env
     zlib
+    libepoxy
   ] ++ lib.optionals (!stdenv.isDarwin) [
     gspell
   ] ++ lib.optionals stdenv.isDarwin [
@@ -152,8 +159,9 @@ stdenv.mkDerivation rec {
 
   # Make sure PyXML modules can be found at run-time.
   postInstall = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
+    for f in $out/lib/inkscape/*.dylib; do
+      ln -s $f $out/lib/$(basename $f)
+    done
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/graphics/ipe/default.nix b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
index 834ab6198a87..59fe59e910fb 100644
--- a/nixpkgs/pkgs/applications/graphics/ipe/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
@@ -13,7 +13,7 @@
 , libspiro
 , lua5
 , qtbase
-, texlive
+, texliveSmall
 , wrapQtAppsHook
 , zlib
 , withTeXLive ? true
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     qtbase
     zlib
   ] ++ (lib.optionals withTeXLive [
-    texlive
+    texliveSmall
   ]);
 
   makeFlags = [
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     "IPE_NO_SPELLCHECK=1" # qtSpell is not yet packaged
   ];
 
-  qtWrapperArgs = lib.optionals withTeXLive [ "--prefix PATH : ${lib.makeBinPath [ texlive ]}" ];
+  qtWrapperArgs = lib.optionals withTeXLive [ "--prefix PATH : ${lib.makeBinPath [ texliveSmall ]}" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/graphics/kphotoalbum/default.nix b/nixpkgs/pkgs/applications/graphics/kphotoalbum/default.nix
index f8cb634cad70..6ff2f4339958 100644
--- a/nixpkgs/pkgs/applications/graphics/kphotoalbum/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/kphotoalbum/default.nix
@@ -1,4 +1,5 @@
 { mkDerivation
+, fetchpatch
 , fetchurl
 , lib
 , extra-cmake-modules
@@ -25,6 +26,14 @@ mkDerivation rec {
     hash = "sha256-NWtOIHJXtc8PlltYbbp2YwDf/3QI3MdHNDX7WVQMig4=";
   };
 
+  # Fix build against exiv2 0.28.1
+  patches = [
+    (fetchpatch {
+      url = "https://invent.kde.org/graphics/kphotoalbum/-/commit/1ceb1ae37f3f95aa290b0846969af4b26f616760.patch";
+      hash = "sha256-SfBJHyJZcysvemc/F09GPczBjcofxGomgjJ814PSU+c=";
+    })
+  ];
+
   # not sure if we really need phonon when we have vlc, but on KDE it's bound to
   # be on the system anyway, so there is no real harm including it
   buildInputs = [ exiv2 phonon libvlc ];
diff --git a/nixpkgs/pkgs/applications/graphics/krita/generic.nix b/nixpkgs/pkgs/applications/graphics/krita/generic.nix
index 507aaf0f7686..ba53a94f7107 100644
--- a/nixpkgs/pkgs/applications/graphics/krita/generic.nix
+++ b/nixpkgs/pkgs/applications/graphics/krita/generic.nix
@@ -27,6 +27,12 @@ mkDerivation rec {
       url = "https://gitlab.archlinux.org/archlinux/packaging/packages/krita/-/raw/acd9a818660e86b14a66fceac295c2bab318c671/exiv2-0.28.patch";
       hash = "sha256-iD2pyid513ThJVeotUlVDrwYANofnEiZmWINNUm/saw=";
     })
+    (fetchpatch {
+      name = "krita-opencolorio-2.3-compat.patch";
+      url = "https://invent.kde.org/graphics/krita/-/commit/520c633c2c868f2236d8e56eefecdcb6e3ebd840.patch";
+      hash = "sha256-eXsgBN8OnKjZOQsOxViPypts6CVh3L+IYKMB/mDUcfQ=";
+      includes = [ "plugins/dockers/lut/ocio_display_filter_vfx2021.cpp" ];
+    })
   ];
 
   nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/graphics/lorien/default.nix b/nixpkgs/pkgs/applications/graphics/lorien/default.nix
index c880e2e21679..ad7442a93ccb 100644
--- a/nixpkgs/pkgs/applications/graphics/lorien/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/lorien/default.nix
@@ -33,13 +33,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "lorien";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "mbrlabs";
     repo = "Lorien";
     rev = "v${version}";
-    sha256 = "sha256-x81Obana2BEGrYSoJHDdCkL6UaULfQGQ94tlrH5+kdY=";
+    sha256 = "sha256-mPv/3hyLGF3IUy6cKfGoABidIsyw4UfmhfhS4AD72K8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/oculante/default.nix b/nixpkgs/pkgs/applications/graphics/oculante/default.nix
index 9e0206a91c9b..676cb3452afa 100644
--- a/nixpkgs/pkgs/applications/graphics/oculante/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/oculante/default.nix
@@ -17,6 +17,7 @@
 , gtk3
 , darwin
 , perl
+, wrapGAppsHook
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -39,6 +40,7 @@ rustPlatform.buildRustPackage rec {
     pkg-config
     nasm
     perl
+    wrapGAppsHook
   ];
 
   checkFlagsArray = [ "--skip=tests::net" ]; # requires network access
@@ -74,6 +76,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/woelper/oculante";
     changelog = "https://github.com/woelper/oculante/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
+    mainProgram = "oculante";
     maintainers = with maintainers; [ dit7ya figsoda ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/openscad/default.nix b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
index 37fcc0eb48e1..fc048d4acae8 100644
--- a/nixpkgs/pkgs/applications/graphics/openscad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
@@ -105,7 +105,7 @@ mkDerivation rec {
       machine parts but pretty sure is not what you are looking for when you are more
       interested in creating computer-animated movies.
     '';
-    homepage = "http://openscad.org/";
+    homepage = "https://openscad.org/";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ bjornfor raskin gebner ];
diff --git a/nixpkgs/pkgs/applications/graphics/photoflare/default.nix b/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
index 4e9f33621ffd..6c6ea1059c73 100644
--- a/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/photoflare/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "photoflare";
-  version = "1.6.12";
+  version = "1.6.13";
 
   src = fetchFromGitHub {
     owner = "PhotoFlare";
     repo = "photoflare";
     rev = "v${version}";
-    sha256 = "sha256-UIEHQil7NsdIKQlrNPpf7rxj6O6P1xlz0E7FNYTcdT4=";
+    sha256 = "sha256-0eAuof/FBro2IKxkJ6JHauW6C96VTPxy7QtfPVzPFi4=";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/nixpkgs/pkgs/applications/graphics/photoqt/default.nix b/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
index 6a7a57fd25f2..9513b92f60ac 100644
--- a/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/photoqt/default.nix
@@ -30,8 +30,13 @@ stdenv.mkDerivation rec {
     hash = "sha256-kVf9+zI9rtEMmS0N4qrN673T/1fnqfcV3hQPnMXMLas=";
   };
 
+  postPatch = ''
+    # exiv2 0.28.1
+    substituteInPlace CMakeLists.txt \
+      --replace "exiv2lib" "exiv2"
+  ''
   # error: no member named 'setlocale' in namespace 'std'; did you mean simply 'setlocale'?
-  postPatch = lib.optionalString stdenv.isDarwin ''
+  + lib.optionalString stdenv.isDarwin ''
     substituteInPlace cplusplus/main.cpp \
       --replace "std::setlocale" "setlocale"
   '';
diff --git a/nixpkgs/pkgs/applications/graphics/pikopixel/default.nix b/nixpkgs/pkgs/applications/graphics/pikopixel/default.nix
index 58a52aee4943..0463958b4c6c 100644
--- a/nixpkgs/pkgs/applications/graphics/pikopixel/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pikopixel/default.nix
@@ -13,7 +13,7 @@ in gnustep'.gsmakeDerivation rec {
   version = "1.0-b10";
 
   src = fetchurl {
-    url = "http://twilightedge.com/downloads/PikoPixel.Sources.${version}.tar.gz";
+    url = "https://twilightedge.com/downloads/PikoPixel.Sources.${version}.tar.gz";
     sha256 = "1b27npgsan2nx1p581b9q2krx4506yyd6s34r4sf1r9x9adshm77";
   };
 
@@ -38,8 +38,8 @@ in gnustep'.gsmakeDerivation rec {
 
   meta = with lib; {
     description = "Application for drawing and editing pixel-art images";
-    homepage = "http://twilightedge.com/mac/pikopixel/";
-    downloadPage = "http://twilightedge.com/mac/pikopixel/";
+    homepage = "https://twilightedge.com/mac/pikopixel/";
+    downloadPage = "https://twilightedge.com/mac/pikopixel/";
     license = licenses.agpl3;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/graphics/structorizer/default.nix b/nixpkgs/pkgs/applications/graphics/structorizer/default.nix
index d1f796e42fee..de0163058757 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-12";
+  version = "3.32-14";
 
   desktopItems = [
     (makeDesktopItem {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "fesch";
     repo = "Structorizer.Desktop";
     rev = version;
-    hash = "sha256-DZktq07MoXBg2AwHOoPLTbON/giSqDZOfmaMkZl1w1g=";
+    hash = "sha256-pnzvfXH4KC067aqqH9h1+T3K+6IzIYw8IJCMdmGrN6c=";
   };
 
   patches = [ ./makeStructorizer.patch ./makeBigJar.patch ];
diff --git a/nixpkgs/pkgs/applications/graphics/texturepacker/default.nix b/nixpkgs/pkgs/applications/graphics/texturepacker/default.nix
new file mode 100644
index 000000000000..14769c02af0e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/texturepacker/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchurl
+, dpkg
+, autoPatchelfHook
+, wrapQtAppsHook
+, qtbase
+, qtdeclarative
+, qtsvg
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "texturepacker";
+  version = "7.1.0";
+
+  src = fetchurl {
+    url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
+    hash = "sha256-9HbmdMPTp6qZCEU/lIZv4HbjKUlEtPVval+y0tiYObc=";
+  };
+
+  nativeBuildInputs = [
+    dpkg
+    autoPatchelfHook
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtdeclarative
+    qtsvg
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    cp usr/lib/texturepacker/{libGrantlee_Templates.so.5,libHQX.so.1.0.0,libPVRTexLib.so} $out/lib
+    cp usr/lib/texturepacker/TexturePacker $out/bin
+    cp -r usr/share $out
+  '';
+
+  meta = {
+    changelog = "https://www.codeandweb.com/texturepacker/download";
+    description = "Sprite sheet creator and game graphics optimizer";
+    homepage = "https://www.codeandweb.com/texturepacker";
+    license = lib.licenses.unfree;
+    mainProgram = "TexturePacker";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = [ "x86_64-linux" ];
+  };
+})
diff --git a/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix b/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
index 66ed4b4fa54f..dd13f8ba4503 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 rec {
   pname = "vengi-tools";
-  version = "0.0.26";
+  version = "0.0.27";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${version}";
-    hash = "sha256-p+ZL3oxzwKhh+j1bxakgyStH+1GAu2aEwNmsqo6fNFo=";
+    hash = "sha256-A37IY66wZZK7Tv0zWsORO6CuRRRj7YmKLnEPSbfAvwI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
index 74cc2bdc4e8d..7f90c815837a 100644
--- a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
          in mind (follows Gnome HIG2).
       '';
     license = licenses.gpl3;
-    homepage = "http://siyanpanayotov.com/project/viewnior/";
+    homepage = "https://siyanpanayotov.com/project/viewnior/";
     maintainers = with maintainers; [ smironov artturin ];
     platforms = platforms.gnu ++ platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/graphics/xpano/default.nix b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
index a2ecaec7c37a..c52d729f9b51 100644
--- a/nixpkgs/pkgs/applications/graphics/xpano/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
@@ -15,21 +15,16 @@
 
 stdenv.mkDerivation rec {
   pname = "xpano";
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "krupkat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f95spf7bbbdvbr4gqfyrs161049jj1wnkvf5wgsd0ga3vb15mcj";
+    sha256 = "aKO9NYHFjb69QopseNOJvUvvVT1povP9tyGSOHJFWVo=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # force install desktop + icon files
-    ./skip_prefix_check.patch
-  ];
-
   nativeBuildInputs = [
     cmake
     ninja
@@ -42,7 +37,7 @@ stdenv.mkDerivation rec {
     SDL2
     gtk3
     spdlog
-    # exiv2 # TODO: enable when 0.28.0 is available
+    exiv2
   ];
 
   checkInputs = [
@@ -53,6 +48,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_TESTING=ON"
+    "-DXPANO_INSTALL_DESKTOP_FILES=ON"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/graphics/xpano/skip_prefix_check.patch b/nixpkgs/pkgs/applications/graphics/xpano/skip_prefix_check.patch
deleted file mode 100644
index 496cbc718bef..000000000000
--- a/nixpkgs/pkgs/applications/graphics/xpano/skip_prefix_check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -167,7 +167,6 @@ install(FILES
-   TYPE BIN
- )
- 
--if(CMAKE_INSTALL_PREFIX MATCHES "^/usr.*|^/app.*")
-   install(FILES
-     "misc/build/linux/xpano.desktop"
-     DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications"
-@@ -184,7 +183,6 @@ if(CMAKE_INSTALL_PREFIX MATCHES "^/usr.*|^/app.*")
-     "misc/build/linux/cz.krupkat.Xpano.metainfo.xml"
-     DESTINATION "${CMAKE_INSTALL_PREFIX}/share/metainfo"
-   )
--endif()
- 
- install(DIRECTORY
-   "${CMAKE_SOURCE_DIR}/misc/assets"