about summary refs log tree commit diff
path: root/pkgs/applications/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix6
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix2
-rw-r--r--pkgs/applications/graphics/PythonMagick/default.nix2
-rw-r--r--pkgs/applications/graphics/ahoviewer/default.nix2
-rw-r--r--pkgs/applications/graphics/alchemy/default.nix2
-rw-r--r--pkgs/applications/graphics/animbar/default.nix3
-rw-r--r--pkgs/applications/graphics/antimony/default.nix2
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix2
-rw-r--r--pkgs/applications/graphics/autotrace/default.nix4
-rw-r--r--pkgs/applications/graphics/avocode/default.nix9
-rw-r--r--pkgs/applications/graphics/awesomebump/default.nix3
-rw-r--r--pkgs/applications/graphics/c3d/default.nix1
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/deskew/default.nix2
-rw-r--r--pkgs/applications/graphics/dia/default.nix2
-rw-r--r--pkgs/applications/graphics/djview/default.nix4
-rw-r--r--pkgs/applications/graphics/draftsight/default.nix3
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix2
-rw-r--r--pkgs/applications/graphics/exrtools/default.nix4
-rw-r--r--pkgs/applications/graphics/feh/default.nix6
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix3
-rw-r--r--pkgs/applications/graphics/fontmatrix/default.nix2
-rw-r--r--pkgs/applications/graphics/freecad/default.nix25
-rw-r--r--pkgs/applications/graphics/fstl/default.nix2
-rw-r--r--pkgs/applications/graphics/gcolor2/default.nix3
-rw-r--r--pkgs/applications/graphics/gcolor3/default.nix3
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix8
-rw-r--r--pkgs/applications/graphics/giv/default.nix2
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix125
-rw-r--r--pkgs/applications/graphics/gnome-photos/installed-tests-path.patch23
-rw-r--r--pkgs/applications/graphics/gnuclad/default.nix4
-rw-r--r--pkgs/applications/graphics/goxel/default.nix2
-rw-r--r--pkgs/applications/graphics/grafx2/default.nix4
-rw-r--r--pkgs/applications/graphics/graphicsmagick/compat.nix2
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix2
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix26
-rw-r--r--pkgs/applications/graphics/guetzli/default.nix3
-rw-r--r--pkgs/applications/graphics/ideogram/default.nix2
-rw-r--r--pkgs/applications/graphics/imagej/default.nix2
-rw-r--r--pkgs/applications/graphics/imlibsetroot/default.nix2
-rw-r--r--pkgs/applications/graphics/imv/default.nix2
-rw-r--r--pkgs/applications/graphics/jbrout/default.nix2
-rw-r--r--pkgs/applications/graphics/jpeg-archive/default.nix2
-rw-r--r--pkgs/applications/graphics/jpeginfo/default.nix4
-rw-r--r--pkgs/applications/graphics/jpegoptim/default.nix4
-rw-r--r--pkgs/applications/graphics/k3d/default.nix4
-rw-r--r--pkgs/applications/graphics/kgraphviewer/default.nix4
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix30
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix53
-rw-r--r--pkgs/applications/graphics/leocad/default.nix2
-rw-r--r--pkgs/applications/graphics/meme/default.nix2
-rw-r--r--pkgs/applications/graphics/mirage/default.nix6
-rw-r--r--pkgs/applications/graphics/mozjpeg/default.nix2
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix2
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix14
-rw-r--r--pkgs/applications/graphics/openimageio/2.x.nix2
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix2
-rw-r--r--pkgs/applications/graphics/paraview/default.nix2
-rw-r--r--pkgs/applications/graphics/pbrt/default.nix2
-rw-r--r--pkgs/applications/graphics/pencil/default.nix2
-rw-r--r--pkgs/applications/graphics/phototonic/default.nix2
-rw-r--r--pkgs/applications/graphics/potrace/default.nix2
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix2
-rw-r--r--pkgs/applications/graphics/processing/default.nix (renamed from pkgs/applications/graphics/processing3/default.nix)20
-rw-r--r--pkgs/applications/graphics/qcomicbook/default.nix2
-rw-r--r--pkgs/applications/graphics/qiv/default.nix4
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix2
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix4
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/dsseries/default.nix6
-rw-r--r--pkgs/applications/graphics/sane/frontends.nix4
-rw-r--r--pkgs/applications/graphics/scantailor/advanced.nix2
-rw-r--r--pkgs/applications/graphics/screencloud/default.nix2
-rw-r--r--pkgs/applications/graphics/swingsane/default.nix2
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix6
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract3.nix2
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract4.nix2
-rw-r--r--pkgs/applications/graphics/timelapse-deflicker/default.nix2
-rw-r--r--pkgs/applications/graphics/ufraw/default.nix68
-rw-r--r--pkgs/applications/graphics/unigine-valley/default.nix3
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix4
-rw-r--r--pkgs/applications/graphics/write_stylus/default.nix2
-rw-r--r--pkgs/applications/graphics/xaos/default.nix4
-rw-r--r--pkgs/applications/graphics/xfig/default.nix3
-rw-r--r--pkgs/applications/graphics/xfractint/default.nix1
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix2
-rw-r--r--pkgs/applications/graphics/xzgv/default.nix2
-rw-r--r--pkgs/applications/graphics/yacreader/default.nix4
-rw-r--r--pkgs/applications/graphics/yed/default.nix4
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix3
-rw-r--r--pkgs/applications/graphics/zgv/default.nix4
92 files changed, 424 insertions, 205 deletions
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 2bd2207a97a4..cbd930668f99 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -13,14 +13,14 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.8-53";
-    sha256 = "0cgfsng2d14891fqwf7mlclsi576c42v0h5r6i4208bakcr25vzk";
+    version = "7.0.8-58";
+    sha256 = "0yfw32nydwy7ag7ina1zc6yssa146x4v35hjv6v59bci9mmj9fb1";
     patches = [];
   };
 in
 
 stdenv.mkDerivation rec {
-  name = "imagemagick-${version}";
+  pname = "imagemagick";
   inherit (cfg) version;
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index ecc6a5b00dec..59f471ab4e34 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -32,7 +32,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "imagemagick-${version}";
+  pname = "imagemagick";
   inherit (cfg) version;
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix
index 938df76e2572..e35a0190d8bc 100644
--- a/pkgs/applications/graphics/PythonMagick/default.nix
+++ b/pkgs/applications/graphics/PythonMagick/default.nix
@@ -3,7 +3,7 @@
 { stdenv, fetchurl, python, pkgconfig, imagemagick, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "pythonmagick-${version}";
+  pname = "pythonmagick";
   version = "0.9.16";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix
index 5210af4df7ad..fb06266cdc59 100644
--- a/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/pkgs/applications/graphics/ahoviewer/default.nix
@@ -7,7 +7,7 @@
 assert useUnrar -> unrar != null;
 
 stdenv.mkDerivation rec {
-  name = "ahoviewer-${version}";
+  pname = "ahoviewer";
   version = "1.6.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 09664889f35b..5132d5950aab 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, runtimeShell }:
 
 stdenv.mkDerivation rec {
-  name = "alchemy-${version}";
+  pname = "alchemy";
   version = "008";
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/animbar/default.nix b/pkgs/applications/graphics/animbar/default.nix
index c918e4b302bb..c4f1b4218d07 100644
--- a/pkgs/applications/graphics/animbar/default.nix
+++ b/pkgs/applications/graphics/animbar/default.nix
@@ -3,10 +3,9 @@
 stdenv.mkDerivation rec {
   pname = "animbar";
   version = "1.2";
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0836nwcpyfdrapyj3hbg3wh149ihc26pc78h01adpc7c0r7d9pr9";
   };
 
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 0257a109568e..7d800d57b631 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -9,7 +9,7 @@ let
   gitTag    = "0.9.3";
 in
   stdenv.mkDerivation rec {
-    name    = "antimony-${version}";
+    pname = "antimony";
     version = "2018-10-20";
 
     src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index c98c323fc79c..5ce36f4f10e9 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit }:
 
 stdenv.mkDerivation rec {
-  name = "apitrace-${version}";
+  pname = "apitrace";
   version = "7.1-572-g${builtins.substring 0 8 src.rev}";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix
index cc08dce906c3..57e95dfef106 100644
--- a/pkgs/applications/graphics/autotrace/default.nix
+++ b/pkgs/applications/graphics/autotrace/default.nix
@@ -6,11 +6,11 @@
 # libpng16.so.16 rather than libpng12.
 
 stdenv.mkDerivation rec {
-  name = "autotrace-${version}";
+  pname = "autotrace";
   version = "0.31.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${name}.tar.gz";
+    url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${pname}-${version}.tar.gz";
     sha256 = "1xmgja5fv48mdbsa51inf7ksz36nqd6bsaybrk5xgprm6cy946js";
   };
 
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 52fd3cebec26..5e1cba31b7ec 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -1,19 +1,20 @@
 { stdenv, makeDesktopItem, fetchurl, unzip
 , gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3
-, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid
+, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid, at-spi2-core
 }:
 
 stdenv.mkDerivation rec {
-  name = "avocode-${version}";
-  version = "3.9.0";
+  pname = "avocode";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0fk62farnsxz59q82kxagibxmn9p9ckp6ix0wqg297gvasgad31q";
+    sha256 = "18yzw7bss1dkmmd8lxr9x8s46qmpnqci202g16zrp6j9jdj094d3";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
     stdenv.cc.cc.lib
+    at-spi2-core.out
     gdk-pixbuf
     glib
     gtk3
diff --git a/pkgs/applications/graphics/awesomebump/default.nix b/pkgs/applications/graphics/awesomebump/default.nix
index df742645e86b..43f8f561e2f1 100644
--- a/pkgs/applications/graphics/awesomebump/default.nix
+++ b/pkgs/applications/graphics/awesomebump/default.nix
@@ -23,7 +23,8 @@ let
     '';
   };
 in stdenv.mkDerivation rec {
-  name = "awesomebump-${version}";
+  pname = "awesomebump";
+  inherit version;
 
   inherit src;
 
diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix
index 7e1c6d7c8c4b..4e864d953dfd 100644
--- a/pkgs/applications/graphics/c3d/default.nix
+++ b/pkgs/applications/graphics/c3d/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchgit, cmake, itk, Cocoa }:
 
 stdenv.mkDerivation rec {
-  name    = "${pname}-${version}";
   pname   = "c3d";
   version = "2018-10-04";
 
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index e16ef45fe1eb..d3c7691ccff9 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   version = "2.6.2";
-  name = "darktable-${version}";
+  pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.darktable.org;
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ];
+    maintainers = with maintainers; [ goibhniu flosse mrVanDalo ];
   };
 }
diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix
index 71e2d82ea7ca..c35aaa044aef 100644
--- a/pkgs/applications/graphics/deskew/default.nix
+++ b/pkgs/applications/graphics/deskew/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
 
-  name = "deskew-${version}";
+  pname = "deskew";
   version = "1.25";
 
   src = fetchFromBitbucket {
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index 0ce160242e56..b0e32678a141 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -4,7 +4,7 @@ libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-them
 gtk-mac-integration-gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "dia-${version}";
+  pname = "dia";
   version = "0.97.3.20170622";
 
   src = fetchgit {
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index d90fb41c03ba..1917640fd2e5 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -3,11 +3,11 @@
 , darwin }:
 
 stdenv.mkDerivation rec {
-  name = "djview-${version}";
+  pname = "djview";
   version = "4.10.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/djvu/${name}.tar.gz";
+    url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
     sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
   };
 
diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix
index 30101bb94770..e59d14f7dd6e 100644
--- a/pkgs/applications/graphics/draftsight/default.nix
+++ b/pkgs/applications/graphics/draftsight/default.nix
@@ -6,7 +6,8 @@
 
 let version = "2018SP2"; in
 stdenv.mkDerivation {
-  name = "draftsight-${version}";
+  pname = "draftsight";
+  inherit version;
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index eca3740f9758..5db104f031c4 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -58,7 +58,7 @@ let
   ];
 
 in stdenv.mkDerivation rec {
-  name = "drawpile-${version}";
+  pname = "drawpile";
   version = "2.1.11";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix
index 7980d09fed12..c8928540bb65 100644
--- a/pkgs/applications/graphics/exrtools/default.nix
+++ b/pkgs/applications/graphics/exrtools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, openexr, libpng12, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "exrtools-${version}";
+  pname = "exrtools";
   version = "0.4";
 
   src = fetchurl {
-    url =  "http://scanline.ca/exrtools/${name}.tar.gz";
+    url =  "http://scanline.ca/exrtools/${pname}-${version}.tar.gz";
     sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
   };
 
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 3eff3360a6c4..fef068eaf0ff 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "feh-${version}";
+  pname = "feh";
   version = "3.2.1";
 
   src = fetchurl {
-    url = "https://feh.finalrewind.org/${name}.tar.bz2";
+    url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
     sha256 = "070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg";
   };
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
     license = licenses.mit;
-    maintainers = [ maintainers.viric maintainers.willibutz ];
+    maintainers = with maintainers; [ viric willibutz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 1e54152fff4d..ae38730226a4 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -4,7 +4,8 @@ let
   version = "3.2.7a";
 
 in stdenv.mkDerivation {
-  name = "fig2dev-${version}";
+  pname = "fig2dev";
+  inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
diff --git a/pkgs/applications/graphics/fontmatrix/default.nix b/pkgs/applications/graphics/fontmatrix/default.nix
index 8ca093b90c3e..3b8662976032 100644
--- a/pkgs/applications/graphics/fontmatrix/default.nix
+++ b/pkgs/applications/graphics/fontmatrix/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "fontmatrix-${version}";
+  pname = "fontmatrix";
   version = "0.6.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index b8f4d5445036..ee7586709dcb 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, mkDerivation, fetchurl, cmake, ninja, coin3d, xercesc, ode, eigen, qt5, opencascade-occt, gts
-, hdf5, vtk, medfile, zlib, python3Packages, swig, gfortran, libXmu
-, soqt, libf2c, libGLU, makeWrapper, pkgconfig
-, mpi ? null }:
+{ stdenv, mkDerivation, fetchurl, fetchpatch, cmake, ninja, coin3d, xercesc, ode
+, eigen, qtbase, qttools, qtwebkit, opencascade-occt, gts, hdf5, vtk, medfile
+, zlib, python3Packages, swig, gfortran, libXmu, soqt, libf2c, libGLU
+, makeWrapper, pkgconfig, mpi ? null }:
 
 assert mpi != null;
 
 let
   pythonPackages = python3Packages;
 in mkDerivation rec {
-  name = "freecad-${version}";
+  pname = "freecad";
   version = "0.18.3";
 
   src = fetchurl {
@@ -19,13 +19,20 @@ in mkDerivation rec {
   nativeBuildInputs = [ cmake ninja pkgconfig pythonPackages.pyside2-tools ];
   buildInputs = [ cmake coin3d xercesc ode eigen opencascade-occt gts
     zlib swig gfortran soqt libf2c makeWrapper mpi vtk hdf5 medfile
-    libGLU libXmu
-  ] ++ (with qt5; [
-    qtbase qttools qtwebkit
-  ]) ++ (with pythonPackages; [
+    libGLU libXmu qtbase qttools qtwebkit
+  ] ++ (with pythonPackages; [
     matplotlib pycollada shiboken2 pyside2 pyside2-tools pivy python boost
   ]);
 
+  # Fix missing app icon on Wayland. Has been upstreamed and should be safe to
+  # remove in versions >= 0.19
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/FreeCAD/FreeCAD/commit/c4d2a358ca125d51d059dfd72dcbfba326196dfc.patch";
+      sha256 = "0yqc9zrxgi2c2xcidm8wh7a9yznkphqvjqm9742qm5fl20p8gl4h";
+    })
+  ];
+
   cmakeFlags = [
     "-DBUILD_QT5=ON"
     "-DSHIBOKEN_INCLUDE_DIR=${pythonPackages.shiboken2}/include"
diff --git a/pkgs/applications/graphics/fstl/default.nix b/pkgs/applications/graphics/fstl/default.nix
index bdb1e87d70ec..1d712a63fbdf 100644
--- a/pkgs/applications/graphics/fstl/default.nix
+++ b/pkgs/applications/graphics/fstl/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, mkDerivation, qtbase, mesa_glu }:
 
 mkDerivation rec {
-  name = "fstl-${version}";
+  pname = "fstl";
   version = "0.9.3";
 
   buildInputs = [qtbase mesa_glu];
diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix
index 025b3ae65ece..103f40fc9c70 100644
--- a/pkgs/applications/graphics/gcolor2/default.nix
+++ b/pkgs/applications/graphics/gcolor2/default.nix
@@ -2,7 +2,8 @@
 
 let version = "0.4"; in
 stdenv.mkDerivation {
-  name = "gcolor2-${version}";
+  pname = "gcolor2";
+  inherit version;
   arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else "386";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/gcolor3/default.nix b/pkgs/applications/graphics/gcolor3/default.nix
index 5ad7cb88b03a..c7555b612f7b 100644
--- a/pkgs/applications/graphics/gcolor3/default.nix
+++ b/pkgs/applications/graphics/gcolor3/default.nix
@@ -3,7 +3,8 @@
 let
   version = "2.3.1";
 in stdenv.mkDerivation {
-  name = "gcolor3-${version}";
+  pname = "gcolor3";
+  inherit version;
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 08b2757dd6e8..62e2ebfa4b1e 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "geeqie-${version}";
+  pname = "geeqie";
   version = "1.4";
 
   src = fetchurl {
-    url = "http://geeqie.org/${name}.tar.xz";
+    url = "http://geeqie.org/${pname}-${version}.tar.xz";
     sha256 = "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w";
   };
 
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 1787b1d9e7fc..008bfdf881e5 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -157,17 +157,17 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
   ufraw = pkgs.ufraw.gimpPlugin;
 
   gimplensfun = pluginDerivation rec {
-    version = "0.2.4";
+    version = "unstable-2018-10-21";
     name = "gimplensfun-${version}";
 
     src = fetchFromGitHub {
       owner = "seebk";
       repo = "GIMP-Lensfun";
-      rev = version;
-      sha256 = "0zlmp9v732qmzj083mnk5z421s57mnckmpjhiw890wmmwzj2lhxz";
+      rev = "1c5a5c1534b5faf098b7441f8840d22835592f17";
+      sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w";
     };
 
-    buildInputs = with pkgs; [ lensfun exiv2 ];
+    buildInputs = with pkgs; [ lensfun gexiv2 ];
 
     installPhase = "
       installPlugins gimp-lensfun
diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix
index ec708ad971a4..9ba7dbed37b3 100644
--- a/pkgs/applications/graphics/giv/default.nix
+++ b/pkgs/applications/graphics/giv/default.nix
@@ -2,7 +2,7 @@
 , pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }:
 
 stdenv.mkDerivation rec {
-  name = "giv-${version}";
+  pname = "giv";
   version = "0.9.26";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
new file mode 100644
index 000000000000..f591dd5a60dd
--- /dev/null
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -0,0 +1,125 @@
+{ stdenv
+, fetchurl
+, at-spi2-core
+, babl
+, dbus
+, desktop-file-utils
+, dleyna-renderer
+, gdk-pixbuf
+, gegl
+, geocode-glib
+, gettext
+, gexiv2
+, gfbgraph
+, glib
+, gnome-online-accounts
+, gnome3
+, gobject-introspection
+, grilo
+, grilo-plugins
+, gsettings-desktop-schemas
+, gtk3
+, itstool
+, libdazzle
+, libgdata
+, libxml2
+, meson
+, ninja
+, nixosTests
+, pkgconfig
+, python3
+, tracker
+, tracker-miners
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-photos";
+  version = "3.32.1";
+
+  outputs = [ "out" "installedTests" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0nxa2jz1g73wypdsj19r4plf4hfkhs9mpl7gbhsiyqp1rkn84ahn";
+  };
+
+  patches = [
+    ./installed-tests-path.patch
+  ];
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    gobject-introspection # for setup hook
+    glib # for setup hook
+    itstool
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    (python3.withPackages (pkgs: with pkgs; [
+      dogtail
+      pygobject3
+      pyatspi
+    ]))
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    babl
+    dbus
+    dleyna-renderer
+    gdk-pixbuf
+    gegl
+    geocode-glib
+    gexiv2
+    gfbgraph
+    glib
+    gnome-online-accounts
+    gnome3.adwaita-icon-theme
+    grilo
+    grilo-plugins
+    gsettings-desktop-schemas
+    gtk3
+    libdazzle
+    libgdata
+    tracker
+    tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema
+
+    at-spi2-core # for tests
+  ];
+
+  mesonFlags = [
+    "-Dinstalled_tests=true"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+    patchShebangs tests/basic.py
+  '';
+
+  postFixup = ''
+    wrapProgram "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py" "''${gappsWrapperArgs[@]}"
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+
+    tests = {
+      installed-tests = nixosTests.gnome-photos;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Access, organize and share your photos";
+    homepage = https://wiki.gnome.org/Apps/Photos;
+    license = licenses.gpl3Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch
new file mode 100644
index 000000000000..218108328dd8
--- /dev/null
+++ b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch
@@ -0,0 +1,23 @@
+diff --git a/meson.build b/meson.build
+index dee932dc..f8851913 100644
+--- a/meson.build
++++ b/meson.build
+@@ -16,8 +16,8 @@
+ photos_docdir = join_paths(photos_datadir, 'doc', meson.project_name())
+ photos_libdir = join_paths(photos_prefix, get_option('libdir'), meson.project_name())
+ 
+-photos_installed_test_metadir = join_paths(photos_datadir, 'installed-tests', meson.project_name())
+-photos_installed_test_execdir = join_paths(photos_libexecdir, 'installed-tests', meson.project_name())
++photos_installed_test_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
++photos_installed_test_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
+ 
+ photos_namespace = 'org.gnome.Photos'
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index f34b5cc0..8e09970b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,2 +1,3 @@
+ option('dogtail', type: 'boolean', value: true, description: 'test using dogtail')
+ option('installed_tests', type: 'boolean', value: false, description: 'Enable installation of some test cases')
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
diff --git a/pkgs/applications/graphics/gnuclad/default.nix b/pkgs/applications/graphics/gnuclad/default.nix
index b3671ead377a..eb48333997ca 100644
--- a/pkgs/applications/graphics/gnuclad/default.nix
+++ b/pkgs/applications/graphics/gnuclad/default.nix
@@ -2,11 +2,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnuclad-${version}";
+  pname = "gnuclad";
   version = "0.2.4";
 
   src = fetchurl {
-    url = "https://launchpad.net/gnuclad/trunk/${lib.versions.majorMinor version}/+download/${name}.tar.gz";
+    url = "https://launchpad.net/gnuclad/trunk/${lib.versions.majorMinor version}/+download/${pname}-${version}.tar.gz";
     sha256 = "0ka2kscpjff7gflsargv3r9fdaxhkf3nym9mfaln3pnq6q7fwdki";
   };
 
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index b25ba8f567df..e4ab5639ba66 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -2,7 +2,7 @@
 , glfw3, gtk3, libpng12 }:
 
 stdenv.mkDerivation rec {
-  name = "goxel-${version}";
+  pname = "goxel";
   version = "0.10.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix
index b1580d73b641..039bb1917d37 100644
--- a/pkgs/applications/graphics/grafx2/default.nix
+++ b/pkgs/applications/graphics/grafx2/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
 
   version = "2.4.2035";
-  name = "grafx2-${version}";
+  pname = "grafx2";
 
   src = fetchurl {
-    url = "https://grafx2.googlecode.com/files/${name}-src.tgz";
+    url = "https://grafx2.googlecode.com/files/${pname}-${version}-src.tgz";
     sha256 = "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q";
   };
 
diff --git a/pkgs/applications/graphics/graphicsmagick/compat.nix b/pkgs/applications/graphics/graphicsmagick/compat.nix
index fedcafc59788..be8885caff1f 100644
--- a/pkgs/applications/graphics/graphicsmagick/compat.nix
+++ b/pkgs/applications/graphics/graphicsmagick/compat.nix
@@ -1,7 +1,7 @@
 { stdenv, graphicsmagick }:
 
 stdenv.mkDerivation rec {
-  name = "graphicsmagick-imagemagick-compat-${version}";
+  pname = "graphicsmagick-imagemagick-compat";
   inherit (graphicsmagick) version;
 
   dontUnpack = true;
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index 84d1450da823..403a5285e150 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -3,7 +3,7 @@
 , libwebp, quantumdepth ? 8, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  name = "graphicsmagick-${version}";
+  pname = "graphicsmagick";
   version = "1.3.32";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index 7ecee8d6d631..9af1a0fc9141 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, perlPackages, wrapGAppsHook,
+  # libs
   librsvg, sane-backends, sane-frontends,
-  imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper,
-  xvfb_run, hicolor-icon-theme, liberation_ttf, file, pdftk }:
+  # runtime dependencies
+  imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
+  # test dependencies
+  xvfb_run, liberation_ttf, file, tesseract }:
 
 with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.3.0";
+  version = "2.5.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9";
+    sha256 = "0gfhjmv768hx2l3jk2mjhh1snkgkaddgw70s14jq8kxhhzvhlmv8";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -66,7 +69,8 @@ perlPackages.buildPerlPackage rec {
       --prefix PATH : "${djvulibre}/bin" \
       --prefix PATH : "${poppler_utils}/bin" \
       --prefix PATH : "${ghostscript}/bin" \
-      --prefix PATH : "${unpaper}/bin"
+      --prefix PATH : "${unpaper}/bin" \
+      --prefix PATH : "${pdftk}/bin"
   '';
 
   enableParallelBuilding = true;
@@ -76,16 +80,17 @@ perlPackages.buildPerlPackage rec {
   outputs = [ "out" "man" ];
 
   checkInputs = [
-    xvfb_run
-    hicolor-icon-theme
     imagemagick
     libtiff
     djvulibre
     poppler_utils
     ghostscript
-    file
-    pdftk
     unpaper
+    pdftk
+
+    xvfb_run
+    file
+    tesseract # tests are expecting tesseract 3.x precisely
   ];
 
   checkPhase = ''
@@ -97,7 +102,6 @@ perlPackages.buildPerlPackage rec {
     description = "A GUI to produce PDFs or DjVus from scanned documents";
     homepage = http://gscan2pdf.sourceforge.net/;
     license = licenses.gpl3;
-    maintainers = [ maintainers.pacien ];
+    maintainers = with maintainers; [ pacien ];
   };
 }
-
diff --git a/pkgs/applications/graphics/guetzli/default.nix b/pkgs/applications/graphics/guetzli/default.nix
index 061dc2b69a61..d7b964259683 100644
--- a/pkgs/applications/graphics/guetzli/default.nix
+++ b/pkgs/applications/graphics/guetzli/default.nix
@@ -3,7 +3,8 @@ let
   version = "1.0.1";
 in
 stdenv.mkDerivation {
-  name = "guetzli-${version}";
+  pname = "guetzli";
+  inherit version;
   src = fetchFromGitHub {
     owner = "google";
     repo = "guetzli";
diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix
index 1511901ab916..0efb08741835 100644
--- a/pkgs/applications/graphics/ideogram/default.nix
+++ b/pkgs/applications/graphics/ideogram/default.nix
@@ -11,6 +11,7 @@
 , pantheon
 , desktop-file-utils
 , xorg
+, hicolor-icon-theme
 , wrapGAppsHook
 }:
 
@@ -27,6 +28,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
+    hicolor-icon-theme # for setup-hook
     meson
     ninja
     pantheon.vala
diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix
index 0bbd543a3076..7d5a90130359 100644
--- a/pkgs/applications/graphics/imagej/default.nix
+++ b/pkgs/applications/graphics/imagej/default.nix
@@ -8,7 +8,7 @@
 
 let
   imagej150 = stdenv.mkDerivation rec {
-    name = "imagej-${version}";
+    pname = "imagej";
     version = "150";
 
     src = fetchurl {
diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix
index a881c0fc1f93..5fdd20825cd5 100644
--- a/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, libX11, libXinerama, imlib2 }:
 
 stdenv.mkDerivation rec {
-  name = "imlibsetroot-${version}";
+  pname = "imlibsetroot";
   version = "1.2";
   src = fetchurl {
     url = "https://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz";
diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix
index 89712d4d1f7a..38e536c70cbb 100644
--- a/pkgs/applications/graphics/imv/default.nix
+++ b/pkgs/applications/graphics/imv/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "imv-${version}";
+  pname = "imv";
   version = "3.1.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix
index 42ed667dee98..4eb7518cc102 100644
--- a/pkgs/applications/graphics/jbrout/default.nix
+++ b/pkgs/applications/graphics/jbrout/default.nix
@@ -3,7 +3,7 @@
 let
   inherit (pythonPackages) python;
 in pythonPackages.buildPythonApplication rec {
-  name = "jbrout-${version}";
+  pname = "jbrout";
   version = "338";
 
   src = fetchsvn {
diff --git a/pkgs/applications/graphics/jpeg-archive/default.nix b/pkgs/applications/graphics/jpeg-archive/default.nix
index ed583490c90d..b5664d51a144 100644
--- a/pkgs/applications/graphics/jpeg-archive/default.nix
+++ b/pkgs/applications/graphics/jpeg-archive/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, mozjpeg, makeWrapper, coreutils, parallel, findutils }:
 
 stdenv.mkDerivation rec {
-  name = "jpeg-archive-${version}";
+  pname = "jpeg-archive";
   version = "2.2.0"; # can be found here https://github.com/danielgtaylor/jpeg-archive/blob/master/src/util.c#L15
 
   # update with
diff --git a/pkgs/applications/graphics/jpeginfo/default.nix b/pkgs/applications/graphics/jpeginfo/default.nix
index f438bf6f7ed8..e15aedd77e1c 100644
--- a/pkgs/applications/graphics/jpeginfo/default.nix
+++ b/pkgs/applications/graphics/jpeginfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "jpeginfo-${version}";
+  pname = "jpeginfo";
   version = "1.6.1";
 
   src = fetchurl {
-    url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz";
+    url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
     sha256 = "0lvn3pnylyj56158d3ix9w1gas1s29klribw9bz1xym03p7k37k2";
   };
 
diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix
index b24b14698e6a..cc1ca3a0ff2a 100644
--- a/pkgs/applications/graphics/jpegoptim/default.nix
+++ b/pkgs/applications/graphics/jpegoptim/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   version = "1.4.6";
-  name = "jpegoptim-${version}";
+  pname = "jpegoptim";
 
   src = fetchurl {
-    url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz";
+    url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
     sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8";
   };
 
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 301dc902dce9..1487fb8adbac 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   version = "0.8.0.6";
-  name = "k3d-${version}";
+  pname = "k3d";
   src = fetchFromGitHub {
     owner = "K-3D";
     repo = "k3d";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "0vdjjg6h8mxm2n8mvkkg2mvd27jn2xx90hnmx23cbd35mpz9p4aa";
   };
 
diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix
index e70fafa24b60..9b96b30c62b1 100644
--- a/pkgs/applications/graphics/kgraphviewer/default.nix
+++ b/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -5,11 +5,11 @@
 }:
 
 mkDerivation rec {
-  name = "kgraphviewer-${version}";
+  pname = "kgraphviewer";
   version = "2.4.3";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kgraphviewer/${version}/${name}.tar.xz";
+    url = "mirror://kde/stable/kgraphviewer/${version}/${pname}-${version}.tar.xz";
     sha256 = "1h6pgg89gvxl8gw7wmkabyqqrzad5pxyv5lsmn1fl4ir8lcc5q2l";
   };
 
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
deleted file mode 100644
index de51422d1da6..000000000000
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  stdenv, fetchurl,
-  extra-cmake-modules,
-  karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui,
-  libkipi, qtbase, qtsvg, qtxmlpatterns
-}:
-
-stdenv.mkDerivation rec {
-  pname    = "kipi-plugins";
-  version = "5.9.1";
-
-  src = fetchurl {
-    url = "http://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0hjm05nkz0w926sn4lav5258rda6zkd6gfnqd8hh3fa2q0dd7cq4";
-  };
-
-  nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [
-    karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi
-    qtbase qtsvg qtxmlpatterns
-  ];
-
-  meta = {
-    description = "Plugins for KDE-based image applications";
-    license = stdenv.lib.licenses.gpl2;
-    homepage = https://www.digikam.org;
-    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
new file mode 100644
index 000000000000..b86560d1319e
--- /dev/null
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchzip
+, alsaLib
+, glib
+, gst_all_1
+, libGLU_combined
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kodelife";
+  version = "0.8.3.93";
+
+  src = fetchzip {
+    url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
+    sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontStrip = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv KodeLife $out/bin
+  '';
+
+  preFixup = let
+    libPath = stdenv.lib.makeLibraryPath [
+      stdenv.cc.cc.lib
+      alsaLib
+      glib
+      gst_all_1.gstreamer
+      gst_all_1.gst-plugins-base
+      libGLU_combined
+      xorg.libX11
+    ];
+  in ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}" \
+      $out/bin/KodeLife
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://hexler.net/products/kodelife";
+    description = "Real-time GPU shader editor";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
index 4f86e5736899..201a4fe113e3 100644
--- a/pkgs/applications/graphics/leocad/default.nix
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -6,7 +6,7 @@ set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/
 { stdenv, fetchFromGitHub, qt4, qmake4Hook, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "leocad-${version}";
+  pname = "leocad";
   version = "19.07.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/meme/default.nix b/pkgs/applications/graphics/meme/default.nix
index 2fddc39e0d07..5f8a0bb6eed3 100644
--- a/pkgs/applications/graphics/meme/default.nix
+++ b/pkgs/applications/graphics/meme/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "meme-unstable-${version}";
+  pname = "meme-unstable";
   version = "2017-09-10";
 
   owner = "nomad-software";
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
index 515b834b41ea..fbe8f10c72f7 100644
--- a/pkgs/applications/graphics/mirage/default.nix
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, pythonPackages, libX11, gettext }:
 
 pythonPackages.buildPythonApplication rec {
-    name = "mirage-${version}";
+    pname = "mirage";
     version = "0.9.5.2";
 
     src = fetchurl {
-      url = "mirror://sourceforge/mirageiv/${name}.tar.bz2";
+      url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2";
       sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
     };
 
     doCheck = false;
 
+    nativeBuildInputs = [ gettext ];
+
     buildInputs = [ stdenv libX11 gettext ];
 
     patchPhase = ''
diff --git a/pkgs/applications/graphics/mozjpeg/default.nix b/pkgs/applications/graphics/mozjpeg/default.nix
index b48fd891a6ac..63cc4a3a8d35 100644
--- a/pkgs/applications/graphics/mozjpeg/default.nix
+++ b/pkgs/applications/graphics/mozjpeg/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "3.3.1";
-  name = "mozjpeg-${version}";
+  pname = "mozjpeg";
 
   src = fetchFromGitHub {
     owner = "mozilla";
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 466ab3e26fb8..5ad5ab6acc61 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -4,7 +4,7 @@
 let
   inherit (python2Packages) python pycairo pygobject3 numpy;
 in stdenv.mkDerivation rec {
-  name = "mypaint-${version}";
+  pname = "mypaint";
   version = "1.2.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index d0838070262a..62fae518b929 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -1,9 +1,8 @@
 { stdenv
+, mkDerivation
 , fetchFromGitHub
 , cmake
 , pkgconfig
-, wrapGAppsHook
-, gsettings-desktop-schemas
 
 , qtbase
 , qttools
@@ -16,8 +15,8 @@
 , quazip
 }:
 
-stdenv.mkDerivation rec {
-  name = "nomacs-${version}";
+mkDerivation rec {
+  pname = "nomacs";
   version = "3.12";
 
   src = fetchFromGitHub {
@@ -38,8 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [cmake
-                       pkgconfig
-                       wrapGAppsHook];
+                       pkgconfig];
 
   buildInputs = [qtbase
                  qttools
@@ -48,13 +46,13 @@ stdenv.mkDerivation rec {
                  opencv
                  libraw
                  libtiff
-                 quazip
-                 gsettings-desktop-schemas];
+                 quazip];
 
   cmakeFlags = ["-DENABLE_OPENCV=ON"
                 "-DENABLE_RAW=ON"
                 "-DENABLE_TIFF=ON"
                 "-DENABLE_QUAZIP=ON"
+                "-DENABLE_TRANSLATIONS=ON"
                 "-DUSE_SYSTEM_QUAZIP=ON"];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix
index e582b5ee0524..4e61fccaa372 100644
--- a/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/pkgs/applications/graphics/openimageio/2.x.nix
@@ -45,8 +45,6 @@ stdenv.mkDerivation rec {
     "-DUSE_PYTHON=OFF"
     "-DUSE_QT=OFF"
     # GNUInstallDirs
-    "-DCMAKE_INSTALL_BINDIR=${placeholder "bin"}/bin"
-    "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
     "-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkgconfig
   ];
 
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index 00b33b652164..7225efadebd9 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DUSE_PYTHON=OFF"
-    # GNUInstallDirs
-    "-DCMAKE_INSTALL_BINDIR=${placeholder "bin"}/bin"
   ];
 
   makeFlags = [
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index cf13c6fb05e9..13a00991265f 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -5,7 +5,7 @@ stdenv, fetchFromGitHub, cmake, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
-  name = "paraview-${version}";
+  pname = "paraview";
   version = "5.6.0";
 
   # fetching from GitHub instead of taking an "official" source
diff --git a/pkgs/applications/graphics/pbrt/default.nix b/pkgs/applications/graphics/pbrt/default.nix
index 3cc7166b4e46..a0aaed49c9c0 100644
--- a/pkgs/applications/graphics/pbrt/default.nix
+++ b/pkgs/applications/graphics/pbrt/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
 
   version = "2018-08-15";
-  name = "pbrt-v3-${version}";
+  pname = "pbrt-v3";
 
   src = fetchFromGitHub {
     rev = "86b5821308088deea70b207bc8c22219d0103d65";
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index f622d3f388e2..37857fc459ea 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
-  name = "pencil-${version}";
+  pname = "pencil";
 
   src = fetchurl {
     url    = "http://pencil.evolus.vn/dl/V${version}/Pencil_${version}_amd64.deb";
diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix
index 7da1d4b612f9..5e7fb5cf7a0a 100644
--- a/pkgs/applications/graphics/phototonic/default.nix
+++ b/pkgs/applications/graphics/phototonic/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, qtbase, qmake, exiv2 }:
 
 stdenv.mkDerivation rec {
-  name = "phototonic-${version}";
+  pname = "phototonic";
   version = "2.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/potrace/default.nix b/pkgs/applications/graphics/potrace/default.nix
index 132136da658b..f50af2925a3a 100644
--- a/pkgs/applications/graphics/potrace/default.nix
+++ b/pkgs/applications/graphics/potrace/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "potrace-${version}";
+  pname = "potrace";
   version = "1.15";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index ec4ce69d5e87..1ad51e92d472 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "pqiv-${version}";
+  pname = "pqiv";
   version = "2.11";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/processing3/default.nix b/pkgs/applications/graphics/processing/default.nix
index 6f90131db12a..9972ea757098 100644
--- a/pkgs/applications/graphics/processing3/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, fetchurl, xmlstarlet, makeWrapper, ant, jdk, rsync, javaPackages, libXxf86vm, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
-  version = "3.4";
-  name = "processing3-${version}";
+  pname = "processing";
+  version = "3.5.3";
 
   src = fetchFromGitHub {
     owner = "processing";
     repo = "processing";
-    rev = "processing-0265-${version}";
-    sha256 = "12wpxgn2wd5vbasx9584w5yb1s319smq1zh8m7dvp7gkqw9plwp4";
+    rev = "processing-0269-${version}";
+    sha256 = "0ajniy3a0i0rx7is46r85yh3ah4zm4ra1gbllmihw9pmnfjgfajn";
   };
 
   nativeBuildInputs = [ ant rsync makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ${xmlstarlet}/bin/xmlstarlet ed --inplace -P -d '//get[@src="http://download.processing.org/reference.zip"]' build/build.xml
     install -D -m0444 ${fetchurl {
                           url    = http://download.processing.org/reference.zip;
-                          sha256 = "0ai0cr62gc7n6y22ki3qibyj1qnlaxv1miqxmmahfk3hpbyfqz9n";
+                          sha256 = "198bpk8mzns6w5h0zdf50wr6iv7sgdi6v7jznj5rbsnpgyilxz35";
                         }
                        } ./java/reference.zip
 
@@ -39,16 +39,16 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir $out
-    cp -dpR build/linux/work $out/${name}
+    cp -dpR build/linux/work $out/${pname}
 
-    rmdir $out/${name}/java
-    ln -s ${jdk} $out/${name}/java
+    rmdir $out/${pname}/java
+    ln -s ${jdk} $out/${pname}/java
 
-    makeWrapper $out/${name}/processing      $out/bin/processing \
+    makeWrapper $out/${pname}/processing      $out/bin/processing \
         --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
         --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
         --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    makeWrapper $out/${name}/processing-java $out/bin/processing-java \
+    makeWrapper $out/${pname}/processing-java $out/bin/processing-java \
         --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
         --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
         --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix
index c37e21ec898a..4d416a7c106d 100644
--- a/pkgs/applications/graphics/qcomicbook/default.nix
+++ b/pkgs/applications/graphics/qcomicbook/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, qtx11extras, poppler }:
 
 stdenv.mkDerivation rec {
-  name = "qcomicbook-${version}";
+  pname = "qcomicbook";
   version = "0.9.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index ce08e2b1be92..750217d99188 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation (rec {
   version = "2.3.2";
-  name = "qiv-${version}";
+  pname = "qiv";
 
   src = fetchurl {
-    url = "https://spiegl.de/qiv/download/${name}.tgz";
+    url = "https://spiegl.de/qiv/download/${pname}-${version}.tgz";
     sha256 = "1mc0f2nnas4q0d7zc9r6g4z93i32xlx0p9hl4fn5zkyml24a1q28";
   };
 
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index b300c0071fae..7e9547c1067c 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.9.8";
-  name = "rapcad-${version}";
+  pname = "rapcad";
 
   src = fetchFromGitHub {
     owner = "gilesbathgate";
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index c007f4f3de89..28d05480dae1 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "rapid-photo-downloader";
-  version = "0.9.15";
+  version = "0.9.16";
 
   src = fetchurl {
     url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "14s8x2qp1li05pailflw1nprp79q0aa7lb92hnwa1air8756z7al";
+    sha256 = "0ij3li17jcqjx79ldv6zg2ckn8m2l9n4xvvq2x79y4q8yx9fqg85";
   };
 
   # Disable version check and fix install tests
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 3fd4521d7cd8..594429503a35 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -13,7 +13,7 @@ let
 in
 stdenv.mkDerivation rec {
   version = "1.4";
-  name = "renderdoc-${version}";
+  pname = "renderdoc";
 
   src = fetchFromGitHub {
     owner = "baldurk";
diff --git a/pkgs/applications/graphics/sane/backends/dsseries/default.nix b/pkgs/applications/graphics/sane/backends/dsseries/default.nix
index 01c203b407c1..d4165be3784f 100644
--- a/pkgs/applications/graphics/sane/backends/dsseries/default.nix
+++ b/pkgs/applications/graphics/sane/backends/dsseries/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, rpmextract }:
 
 stdenv.mkDerivation rec {
-  name = "libsane-dsseries-${version}";
+  pname = "libsane-dsseries";
   version = "1.0.5-1";
 
   src = fetchurl {
-    url = "https://download.brother.com/welcome/dlf100974/${name}.x86_64.rpm";
+    url = "https://download.brother.com/welcome/dlf100974/${pname}-${version}.x86_64.rpm";
     sha256 = "1wfdbfbf51cc7njzikdg48kwpnpc0pg5s6p0s0y3z0q7y59x2wbq";
   };
 
   nativeBuildInputs = [ rpmextract ];
 
   unpackCmd = ''
-    mkdir ${name} && pushd ${name}
+    mkdir ${pname}-${version} && pushd ${pname}-${version}
     rpmextract $curSrc
     popd
   '';
diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix
index f6994db81e4b..66473c4a155f 100644
--- a/pkgs/applications/graphics/sane/frontends.nix
+++ b/pkgs/applications/graphics/sane/frontends.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, sane-backends, libX11, gtk2, pkgconfig, libusb ? null }:
 
 stdenv.mkDerivation rec {
-  name = "sane-frontends-${version}";
+  pname = "sane-frontends";
   version = "1.0.14";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/latestfile/175/${name}.tar.gz";
+    url = "https://alioth.debian.org/frs/download.php/latestfile/175/${pname}-${version}.tar.gz";
     sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
   };
 
diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix
index d55441e39fa5..63f16f688acd 100644
--- a/pkgs/applications/graphics/scantailor/advanced.nix
+++ b/pkgs/applications/graphics/scantailor/advanced.nix
@@ -3,7 +3,7 @@
 , qtbase, qttools }:
 
 stdenv.mkDerivation rec {
-  name = "scantailor-advanced-${version}";
+  pname = "scantailor-advanced";
   version = "1.0.16";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/screencloud/default.nix b/pkgs/applications/graphics/screencloud/default.nix
index 292ae9c8faa8..88bbbd9d8646 100644
--- a/pkgs/applications/graphics/screencloud/default.nix
+++ b/pkgs/applications/graphics/screencloud/default.nix
@@ -2,7 +2,7 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "screencloud-${version}";
+  pname = "screencloud";
   version = "1.2.0";
 
   # API Keys. According to the author of the AUR package, these are only used
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index d0f2a48c589d..f56646e5aedd 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeDesktopItem, unzip, jre, runtimeShell }:
 
 stdenv.mkDerivation rec {
-  name = "swingsane-${version}";
+  pname = "swingsane";
   version = "0.2";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index b399dd2d2284..34294d271292 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -22,7 +22,8 @@ let
   };
 
   synfig = stdenv.mkDerivation rec {
-    name = "synfig-${version}";
+    pname = "synfig";
+    inherit version;
 
     src = fetchFromGitHub {
        repo   = "synfig";
@@ -47,7 +48,8 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "synfigstudio-${version}";
+  pname = "synfigstudio";
+  inherit version;
 
   src = fetchFromGitHub {
      repo   = "synfig";
diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix
index 23713271c409..157c0b9742bf 100644
--- a/pkgs/applications/graphics/tesseract/tesseract3.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract3.nix
@@ -2,7 +2,7 @@
 , leptonica, libpng, libtiff, icu, pango, opencl-headers }:
 
 stdenv.mkDerivation rec {
-  name = "tesseract-${version}";
+  pname = "tesseract";
   version = "3.05.00";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix
index af0063301f1a..548f58a50fb1 100644
--- a/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -2,7 +2,7 @@
 , leptonica, libpng, libtiff, icu, pango, opencl-headers }:
 
 stdenv.mkDerivation rec {
-  name = "tesseract-${version}";
+  pname = "tesseract";
   version = "4.1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/timelapse-deflicker/default.nix b/pkgs/applications/graphics/timelapse-deflicker/default.nix
index b4ddb1436856..8355545e8dd6 100644
--- a/pkgs/applications/graphics/timelapse-deflicker/default.nix
+++ b/pkgs/applications/graphics/timelapse-deflicker/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "timelapse-deflicker-${version}";
+  pname = "timelapse-deflicker";
   version = "0.1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index 50cd9485a3e8..39b4640dc431 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -1,38 +1,70 @@
-{ fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib
-, withGimpPlugin ? true, gimp ? null
-, libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }:
+{ stdenv
+, fetchFromGitHub
+
+, autoconf
+, automake
+, autoreconfHook
+, bzip2
+, cfitsio
+, exiv2
+, gettext
+, gimp ? null
+, gtk2
+, gtkimageview
+, lcms2
+, lensfun
+, libjpeg
+, libtiff
+, perl
+, pkgconfig
+, zlib
+
+, withGimpPlugin ? true
+}:
 
 assert withGimpPlugin -> gimp != null;
 
 stdenv.mkDerivation rec {
-  name = "ufraw-0.22";
+  pname = "ufraw";
+  version = "unstable-2019-06-12";
 
-  src = fetchurl {
-    # XXX: These guys appear to mutate uploaded tarballs!
-    url = "mirror://sourceforge/ufraw/${name}.tar.gz";
-    sha256 = "0pm216pg0vr44gwz9vcvq3fsf8r5iayljhf5nis2mnw7wn6d5azp";
+  # The original ufraw repo is unmaintained and broken;
+  # this is a fork that collects patches
+  src = fetchFromGitHub {
+    owner = "sergiomb2";
+    repo = "ufraw";
+    rev = "c65b4237dcb430fb274e4778afaf5df9a18e04e6";
+    sha256 = "02icn67bsinvgliy62qa6v7gmwgp2sh15jvm8iiz3c7g1h74f0b7";
   };
 
   outputs = [ "out" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ autoconf automake autoreconfHook gettext perl pkgconfig ];
+
   buildInputs = [
-    gtk2 gtkimageview bzip2 zlib
-    libjpeg libtiff cfitsio exiv2 lcms2 lensfun
+    bzip2
+    cfitsio
+    exiv2
+    gtk2
+    gtkimageview
+    lcms2
+    lensfun
+    libjpeg
+    libtiff
+    zlib
   ] ++ stdenv.lib.optional withGimpPlugin gimp;
 
   configureFlags = [
-    "--enable-extras"
-    "--enable-dst-correction"
     "--enable-contrast"
+    "--enable-dst-correction"
   ] ++ stdenv.lib.optional withGimpPlugin "--with-gimp";
 
   postInstall = stdenv.lib.optionalString withGimpPlugin ''
     moveToOutput "lib/gimp" "$gimpPlugin"
   '';
 
-  meta = {
-    homepage = http://ufraw.sourceforge.net/;
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sergiomb2/ufraw;
 
     description = "Utility to read and manipulate raw images from digital cameras";
 
@@ -46,9 +78,9 @@ stdenv.mkDerivation rec {
          the camera's tone curves.
       '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # needs GTK+
+    maintainers = with maintainers; [ gloaming ];
+    platforms   = with platforms; all;
   };
 }
diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix
index 3a139f3740cc..09abfc60a528 100644
--- a/pkgs/applications/graphics/unigine-valley/default.nix
+++ b/pkgs/applications/graphics/unigine-valley/default.nix
@@ -27,7 +27,8 @@ let
 
 in
   stdenv.mkDerivation rec {
-    name = "unigine-valley-${version}";
+    pname = "unigine-valley";
+    inherit version;
 
     src = fetchurl {
       url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run";
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index 48930ccbbb96..4f5fb12faa62 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -2,13 +2,13 @@
 , intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}:
 
 stdenv.mkDerivation rec {
-  name = "viewnior-${version}";
+  pname = "viewnior";
   version = "1.6";
 
   src = fetchFromGitHub {
     owner = "xsisqox";
     repo = "Viewnior";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "06ppv3r85l3id4ij6h4y5fgm3nib2587fdrdv9fccyi75zk7fs0p";
   };
 
diff --git a/pkgs/applications/graphics/write_stylus/default.nix b/pkgs/applications/graphics/write_stylus/default.nix
index e11bc3dd5bb9..232eeeb01153 100644
--- a/pkgs/applications/graphics/write_stylus/default.nix
+++ b/pkgs/applications/graphics/write_stylus/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }:
 stdenv.mkDerivation rec {
-  name = "write_stylus-${version}";
+  pname = "write_stylus";
   version = "209";
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix
index 182f68f3112c..e80362c386b9 100644
--- a/pkgs/applications/graphics/xaos/default.nix
+++ b/pkgs/applications/graphics/xaos/default.nix
@@ -2,11 +2,11 @@
 , libXt, zlib, gettext, intltool, perl }:
 
 stdenv.mkDerivation rec {
-  name = "xaos-${version}";
+  pname = "xaos";
   version = "3.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/xaos/${name}.tar.gz";
+    url = "mirror://sourceforge/xaos/${pname}-${version}.tar.gz";
     sha256 = "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq";
   };
 
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 429af12b9bb3..fe5a13703329 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -6,7 +6,8 @@ let
   version = "3.2.7a";
 
 in stdenv.mkDerivation {
-  name = "xfig-${version}";
+  pname = "xfig";
+  inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix
index 2269f1c18f14..ae4765fc9e76 100644
--- a/pkgs/applications/graphics/xfractint/default.nix
+++ b/pkgs/applications/graphics/xfractint/default.nix
@@ -1,6 +1,5 @@
 {stdenv, fetchurl, libX11, libXft}:
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "xfractint";
   version = "20.04p14";
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 2487b093148a..41539f32b071 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -23,7 +23,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xournalpp-${version}";
+  pname = "xournalpp";
   version = "1.0.12";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/xzgv/default.nix b/pkgs/applications/graphics/xzgv/default.nix
index 69ab67dffb73..de3f3a78988b 100644
--- a/pkgs/applications/graphics/xzgv/default.nix
+++ b/pkgs/applications/graphics/xzgv/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gtk2, libexif, pkgconfig, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "xzgv-${version}";
+  pname = "xzgv";
   version = "0.9.2";
   src = fetchurl {
     url = "mirror://sourceforge/xzgv/xzgv-${version}.tar.gz";
diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix
index 3cf42343658c..e545dd5a7230 100644
--- a/pkgs/applications/graphics/yacreader/default.nix
+++ b/pkgs/applications/graphics/yacreader/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "yacreader-${version}";
+  pname = "yacreader";
   version = "9.5.0";
 
   src = fetchurl {
-    url = "https://github.com/YACReader/yacreader/releases/download/${version}/${name}-src.tar.xz";
+    url = "https://github.com/YACReader/yacreader/releases/download/${version}/${pname}-${version}-src.tar.xz";
     sha256 = "0cv5y76kjvsqsv4fp99j8np5pm4m76868i1nn40q6hy573dmxwm6";
   };
 
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
index 799ceef1beda..0038d41475fb 100644
--- a/pkgs/applications/graphics/yed/default.nix
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchzip, makeWrapper, unzip, jre }:
 
 stdenv.mkDerivation rec {
-  name = "yEd-${version}";
+  pname = "yEd";
   version = "3.19";
 
   src = fetchzip {
-    url = "https://www.yworks.com/resources/yed/demo/${name}.zip";
+    url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
     sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33";
   };
 
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index ac3d303a7a60..db07b9e1db4e 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -2,9 +2,8 @@
 stdenv.mkDerivation rec {
   version = "0.9.0";
   pname = "zgrviewer";
-  name="${pname}-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
+    url = "mirror://sourceforge/zvtm/${pname}/${version}/${pname}-${version}.zip";
     sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23";
   };
   buildInputs = [jre unzip];
diff --git a/pkgs/applications/graphics/zgv/default.nix b/pkgs/applications/graphics/zgv/default.nix
index 7a49e5b2cb7f..8ef705f7ef4b 100644
--- a/pkgs/applications/graphics/zgv/default.nix
+++ b/pkgs/applications/graphics/zgv/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, SDL, SDL_image, libjpeg, libpng, libtiff }:
 
 stdenv.mkDerivation rec {
-  name = "zgv-${version}";
+  pname = "zgv";
   version = "5.9";
   src = fetchurl {
-    url = "https://www.svgalib.org/rus/zgv/${name}.tar.gz";
+    url = "https://www.svgalib.org/rus/zgv/${pname}-${version}.tar.gz";
     sha256 = "1fk4i9x0cpnpn3llam0zy2pkmhlr2hy3iaxhxg07v9sizd4dircj";
   };