uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,187 @@
{ stdenv
, lib
, fetchurl
, substituteAll
, autoreconfHook
, pkg-config
, intltool
, babl
, gegl
, gtk2
, glib
, gdk-pixbuf
, isocodes
, pango
, cairo
, freetype
, fontconfig
, lcms
, libpng
, libjpeg
, poppler
, poppler_data
, libtiff
, libmng
, librsvg
, libwmf
, zlib
, libzip
, ghostscript
, aalib
, shared-mime-info
, python2
, libexif
, gettext
, makeWrapper
, gtk-doc
, xorg
, glib-networking
, libmypaint
, gexiv2
, harfbuzz
, mypaint-brushes1
, libwebp
, libheif
, libgudev
, openexr
, AppKit
, Cocoa
, gtk-mac-integration-gtk2
}:
let
python = python2.withPackages (pp: [ pp.pygtk ]);
in stdenv.mkDerivation rec {
pname = "gimp";
version = "2.10.30";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "iIFdqnbtfUJ37rNTNYuvoRbNL80shh2VuVE1wdUrZ9w=";
};
patches = [
# to remove compiler from the runtime closure, reference was retained via
# gimp --version --verbose output
(substituteAll {
src = ./remove-cc-reference.patch;
cc_version = stdenv.cc.cc.name;
})
# Use absolute paths instead of relying on PATH
# to make sure plug-ins are loaded by the correct interpreter.
./hardcode-plugin-interpreters.patch
];
nativeBuildInputs = [
autoreconfHook # hardcode-plugin-interpreters.patch changes Makefile.am
pkg-config
intltool
gettext
makeWrapper
gtk-doc
];
buildInputs = [
babl
gegl
gtk2
glib
gdk-pixbuf
pango
cairo
gexiv2
harfbuzz
isocodes
freetype
fontconfig
lcms
libpng
libjpeg
poppler
poppler_data
libtiff
openexr
libmng
librsvg
libwmf
zlib
libzip
ghostscript
aalib
shared-mime-info
libwebp
libheif
python
# Duplicated here because python.withPackages does not expose the dev output with pkg-config files
python2.pkgs.pygtk
libexif
xorg.libXpm
glib-networking
libmypaint
mypaint-brushes1
] ++ lib.optionals stdenv.isDarwin [
AppKit
Cocoa
gtk-mac-integration-gtk2
] ++ lib.optionals stdenv.isLinux [
libgudev
];
# needed by gimp-2.0.pc
propagatedBuildInputs = [
gegl
];
configureFlags = [
"--without-webkit" # old version is required
"--disable-check-update"
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
"--with-icc-directory=/run/current-system/sw/share/color/icc"
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
"--libdir=\${exec_prefix}/lib"
];
enableParallelBuilding = true;
doCheck = true;
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-DGDK_OSX_BIG_SUR=16";
# Check if librsvg was built with --disable-pixbuf-loader.
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
preConfigure = ''
# The check runs before glib-networking is registered
export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES"
'';
postFixup = ''
wrapProgram $out/bin/gimp-${lib.versions.majorMinor version} \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
'';
passthru = rec {
# The declarations for `gimp-with-plugins` wrapper,
# used for determining plug-in installation paths
majorVersion = "${lib.versions.major version}.0";
targetLibDir = "lib/gimp/${majorVersion}";
targetDataDir = "share/gimp/${majorVersion}";
targetPluginDir = "${targetLibDir}/plug-ins";
targetScriptDir = "${targetDataDir}/scripts";
# probably its a good idea to use the same gtk in plugins ?
gtk = gtk2;
};
meta = with lib; {
description = "The GNU Image Manipulation Program";
homepage = "https://www.gimp.org/";
maintainers = with maintainers; [ jtojnar ];
license = licenses.gpl3Plus;
platforms = platforms.unix;
mainProgram = "gimp";
};
}

View file

@ -0,0 +1,11 @@
--- a/plug-ins/pygimp/Makefile.am
+++ b/plug-ins/pygimp/Makefile.am
@@ -157,7 +157,7 @@ install-interp-file:
echo 'python=$(PYBIN_PATH)' > '$(DESTDIR)$(pyinterpfile)'
echo 'python2=$(PYBIN_PATH)' >> '$(DESTDIR)$(pyinterpfile)'
echo '/usr/bin/python=$(PYBIN_PATH)' >> '$(DESTDIR)$(pyinterpfile)'
- echo ":Python:E::py::`basename $(PYTHON)`:" >> '$(DESTDIR)$(pyinterpfile)'
+ echo ":Python:E::py::$(PYTHON):" >> '$(DESTDIR)$(pyinterpfile)'
install-data-local: install-env-file install-interp-file

View file

@ -0,0 +1,306 @@
# Use `gimp-with-plugins` package for GIMP with all plug-ins.
# If you just want a subset of plug-ins, you can specify them explicitly:
# `gimp-with-plugins.override { plugins = with gimpPlugins; [ gap ]; }`.
{ config, lib, pkgs }:
let
inherit (pkgs) stdenv fetchurl fetchpatch pkg-config intltool glib fetchFromGitHub;
in
lib.makeScope pkgs.newScope (self:
let
# Use GIMP from the scope.
inherit (self) gimp;
pluginDerivation = attrs: let
name = attrs.name or "${attrs.pname}-${attrs.version}";
in stdenv.mkDerivation ({
prePhases = "extraLib";
extraLib = ''
installScripts(){
mkdir -p $out/${gimp.targetScriptDir}/${name};
for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
}
installPlugin() {
# The base name of the first argument is the plug-in name and the main executable.
# GIMP only allows a single plug-in per directory:
# https://gitlab.gnome.org/GNOME/gimp/-/commit/efae55a73e98389e38fa0e59ebebcda0abe3ee96
pluginDir=$out/${gimp.targetPluginDir}/$(basename "$1")
install -Dt "$pluginDir" "$@"
}
'';
# Override installation paths.
PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}";
PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}";
}
// attrs
// {
name = "${gimp.pname}-plugin-${name}";
buildInputs = [
gimp
gimp.gtk
glib
] ++ (attrs.buildInputs or []);
nativeBuildInputs = [
pkg-config
intltool
] ++ (attrs.nativeBuildInputs or []);
}
);
scriptDerivation = {src, ...}@attrs : pluginDerivation ({
prePhases = "extraLib";
dontUnpack = true;
installPhase = ''
runHook preInstall
installScripts ${src}
runHook postInstall
'';
} // attrs);
in
{
# Allow overriding GIMP package in the scope.
inherit (pkgs) gimp;
bimp = pluginDerivation rec {
/* menu:
File/Batch Image Manipulation...
*/
pname = "bimp";
version = "2.6";
src = fetchFromGitHub {
owner = "alessandrofrancesconi";
repo = "gimp-plugin-bimp";
rev = "v${version}";
hash = "sha256-IJ3+/9UwxJTRo0hUdzlOndOHwso1wGv7Q4UuhbsFkco=";
};
patches = [
# Allow overriding installation path
# https://github.com/alessandrofrancesconi/gimp-plugin-bimp/pull/311
(fetchpatch {
url = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp/commit/098edb5f70a151a3f377478fd6e0d08ed56b8ef7.patch";
sha256 = "2Afx9fmdn6ztbsll2f2j7mfffMWYWyr4BuBy9ySV6vM=";
})
];
nativeBuildInputs = with pkgs; [ which ];
installFlags = [
"SYSTEM_INSTALL_DIR=${placeholder "out"}/${gimp.targetPluginDir}/bimp"
];
installTargets = [ "install-admin" ];
meta = with lib; {
description = "Batch Image Manipulation Plugin for GIMP";
homepage = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ];
};
};
gap = pluginDerivation {
/* menu:
Video
*/
name = "gap-2.6.0";
src = fetchurl {
url = "https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2";
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
};
NIX_LDFLAGS = "-lm";
hardeningDisable = [ "format" ];
meta = with lib; {
description = "The GIMP Animation Package";
homepage = "https://www.gimp.org";
# The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
# falls inside "free".
license = with licenses; [ gpl3 free ];
};
};
farbfeld = pluginDerivation rec {
pname = "farbfeld";
version = "unstable-2019-08-12";
src = fetchFromGitHub {
owner = "ids1024";
repo = "gimp-farbfeld";
rev = "5feacebf61448bd3c550dda03cd08130fddc5af4";
sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6";
};
installPhase = ''
installPlugin farbfeld
'';
meta = {
description = "Gimp plug-in for the farbfeld image format";
homepage = "https://github.com/ids1024/gimp-farbfeld";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sikmir ];
};
};
fourier = pluginDerivation rec {
/* menu:
Filters/Generic/FFT Forward
Filters/Generic/FFT Inverse
*/
pname = "fourier";
version = "0.4.3";
src = fetchurl {
url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz";
sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn";
};
buildInputs = with pkgs; [ fftw ];
postPatch = ''
substituteInPlace Makefile --replace '$(GCC)' '$(CC)'
# The tarball contains a prebuilt binary.
make clean
'';
installPhase = ''
runHook preInstall
installPlugin fourier
runHook postInstall
'';
meta = with lib; {
description = "GIMP plug-in to do the fourier transform";
homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier";
license = with licenses; [ gpl3Plus ];
};
};
resynthesizer = pluginDerivation rec {
/* menu:
Edit/Fill with pattern seamless...
Filters/Enhance/Heal selection...
Filters/Enhance/Heal transparency...
Filters/Enhance/Sharpen by synthesis...
Filters/Enhance/Uncrop...
Filters/Map/Style...
Filters/Render/Texture...
*/
pname = "resynthesizer";
version = "2.0.3";
buildInputs = with pkgs; [ fftw ];
nativeBuildInputs = with pkgs; [ autoreconfHook ];
makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ];
src = fetchFromGitHub {
owner = "bootchk";
repo = "resynthesizer";
rev = "v${version}";
sha256 = "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j";
};
};
texturize = pluginDerivation {
pname = "texturize";
version = "2.2+unstable=2021-12-03";
src = fetchFromGitHub {
owner = "lmanul";
repo = "gimp-texturize";
rev = "9ceff0d411cda018108e5477320669b8d00d811e";
sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0=";
};
nativeBuildInputs = with pkgs; [
meson
ninja
gettext
];
};
waveletSharpen = pluginDerivation {
/* menu:
Filters/Enhance/Wavelet sharpen
*/
name = "wavelet-sharpen-0.1.2";
NIX_LDFLAGS = "-lm";
src = fetchurl {
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
};
installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
};
lqrPlugin = pluginDerivation rec {
/* menu:
Layer/Liquid Rescale
*/
pname = "lqr-plugin";
version = "0.7.2";
buildInputs = with pkgs; [ liblqr1 ];
src = fetchFromGitHub {
owner = "carlobaldassi";
repo = "gimp-lqr-plugin";
rev = "v${version}";
sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
};
};
gmic = pkgs.gmic-qt.override {
variant = "gimp";
};
gimplensfun = pluginDerivation rec {
version = "unstable-2018-10-21";
name = "gimplensfun-${version}";
src = fetchFromGitHub {
owner = "seebk";
repo = "GIMP-Lensfun";
rev = "1c5a5c1534b5faf098b7441f8840d22835592f17";
sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w";
};
buildInputs = with pkgs; [ lensfun gexiv2 ];
installPhase = "
installPlugin gimp-lensfun
";
meta = {
description = "GIMP plugin to correct lens distortion using the lensfun library and database";
homepage = "http://lensfun.sebastiankraft.net/";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.gnu ++ lib.platforms.linux;
};
};
/* =============== simple script files ==================== */
# also have a look at enblend-enfuse in all-packages.nix
exposureBlend = scriptDerivation {
name = "exposure-blend";
src = fetchurl {
url = "http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm";
sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla";
};
meta.broken = true;
};
lightning = scriptDerivation {
name = "Lightning";
src = fetchurl {
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm";
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
};
};
})

View file

@ -0,0 +1,200 @@
ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
index 4a6d90b..c74cab2 100644
--- focusblur-3.2.6/src/aaa.h
+++ focusblur-3.2.6/src/aaa.h
@@ -19,8 +19,7 @@
#ifndef __AAA_H__
#define __AAA_H__
-#include <glib/gmacros.h>
-#include <glib/gtypes.h>
+#include <glib.h>
G_BEGIN_DECLS
diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
index 685b253..8778fec 100644
--- focusblur-3.2.6/src/brush.h
+++ focusblur-3.2.6/src/brush.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_BRUSH_H__
#define __FOCUSBLUR_BRUSH_H__
-#include <glib/gtypes.h>
+#include <glib.h>
#include "focusblurtypes.h"
G_BEGIN_DECLS
diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
index 78f5e99..baee540 100644
--- focusblur-3.2.6/src/depthmap.h
+++ focusblur-3.2.6/src/depthmap.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_DEPTHMAP_H__
#define __FOCUSBLUR_DEPTHMAP_H__
-#include <glib/gtypes.h>
+#include <glib.h>
#include "focusblurtypes.h"
#include "focusblurenums.h"
diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
index 07ffe4b..3c1e4b9 100644
--- focusblur-3.2.6/src/diffusion.h
+++ focusblur-3.2.6/src/diffusion.h
@@ -23,7 +23,7 @@
#define __FOCUSBLUR_DIFFUSION_H__
-#include <glib/gtypes.h>
+#include <glib.h>
#include "focusblur.h"
#include "focusblurtypes.h"
diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
index 124bcba..cd809fa 100644
--- focusblur-3.2.6/src/fftblur.h
+++ focusblur-3.2.6/src/fftblur.h
@@ -23,8 +23,7 @@
#define __FOCUSBLUR_FFTBLUR_H__
-#include <glib/gmacros.h>
-#include <glib/gtypes.h>
+#include <glib.h>
#include <libgimpwidgets/gimpwidgetstypes.h>
#include "focusblurparam.h"
diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
index b34d682..42e6380 100644
--- focusblur-3.2.6/src/fftblurbuffer.h
+++ focusblur-3.2.6/src/fftblurbuffer.h
@@ -28,8 +28,7 @@
#endif
#include <fftw3.h>
-#include <glib/gmacros.h>
-#include <glib/gtypes.h>
+#include <glib.h>
#include <gtk/gtkstyle.h>
#include <libgimp/gimptypes.h>
#include <libgimpwidgets/gimpwidgetstypes.h>
diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
index 495572d..10a34f4 100644
--- focusblur-3.2.6/src/fftblurproc.h
+++ focusblur-3.2.6/src/fftblurproc.h
@@ -23,8 +23,7 @@
#define __FOCUSBLUR_FFTBLUR_PROC_H__
-#include <glib/gmacros.h>
-#include <glib/gtypes.h>
+#include <glib.h>
#include "focusblurtypes.h"
diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
index 54ca40a..d7e13a6 100644
--- focusblur-3.2.6/src/focusblur.h
+++ focusblur-3.2.6/src/focusblur.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_H__
#define __FOCUSBLUR_H__
-#include <glib/gmacros.h>
+#include <glib.h>
G_BEGIN_DECLS
diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
index 64c887b..32865b4 100644
--- focusblur-3.2.6/src/focusblurparam.h
+++ focusblur-3.2.6/src/focusblurparam.h
@@ -22,8 +22,7 @@
#ifndef __FOCUSBLUR_PARAM_H__
#define __FOCUSBLUR_PARAM_H__
-#include <glib/gmacros.h>
-#include <glib/gtypes.h>
+#include <glib.h>
#include <gtk/gtkstyle.h>
#include <libgimp/gimptypes.h>
diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
index 15f3603..cfc0567 100644
--- focusblur-3.2.6/src/focusblurstock.h
+++ focusblur-3.2.6/src/focusblurstock.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_STOCK_H__
#define __FOCUSBLUR_STOCK_H__
-#include <glib/gtypes.h>
+#include <glib.h>
G_BEGIN_DECLS
diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
index 0954c60..1531c84 100644
--- focusblur-3.2.6/src/focusblurtypes.h
+++ focusblur-3.2.6/src/focusblurtypes.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_TYPES_H__
#define __FOCUSBLUR_TYPES_H__
-#include <glib/gmacros.h>
+#include <glib.h>
G_BEGIN_DECLS
diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
index 6defd27..e819c60 100644
--- focusblur-3.2.6/src/interface.h
+++ focusblur-3.2.6/src/interface.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_INTERFACE_H__
#define __FOCUSBLUR_INTERFACE_H__
-#include <glib/gtypes.h>
+#include <glib.h>
#include "focusblurtypes.h"
diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
index febbd24..a501f1e 100644
--- focusblur-3.2.6/src/render.h
+++ focusblur-3.2.6/src/render.h
@@ -24,7 +24,7 @@
#include "config.h"
-#include <glib/gtypes.h>
+#include <glib.h>
//#include <libgimp/gimp.h>
#include <libgimp/gimpui.h>
diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
index c5a3621..86b4c09 100644
--- focusblur-3.2.6/src/shine.h
+++ focusblur-3.2.6/src/shine.h
@@ -22,7 +22,7 @@
#ifndef __FOCUSBLUR_SHINE_H__
#define __FOCUSBLUR_SHINE_H__
-#include <glib/gtypes.h>
+#include <glib.h>
#include <libgimp/gimptypes.h>
#include "focusblurtypes.h"
diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
index 50d34ca..8eec35c 100644
--- focusblur-3.2.6/src/source.h
+++ focusblur-3.2.6/src/source.h
@@ -24,7 +24,7 @@
#include "config.h"
-#include <glib/gtypes.h>
+#include <glib.h>
#include <libgimp/gimptypes.h>
#include "focusblurtypes.h"

View file

@ -0,0 +1,13 @@
diff --git a/app/gimp-version.c b/app/gimp-version.c
index 3d1894a036..48bb670b64 100644
--- a/app/gimp-version.c
+++ b/app/gimp-version.c
@@ -230,7 +230,7 @@ gimp_version (gboolean be_verbose,
GIMP_BUILD_ID,
gimp_version_get_revision (),
GIMP_BUILD_PLATFORM_FAMILY,
- CC_VERSION,
+ "@cc_version@",
lib_versions);
g_free (lib_versions);

View file

@ -0,0 +1,31 @@
{ lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome, plugins ? null}:
let
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
selectedPlugins = lib.filter (pkg: pkg != gimpPlugins.gimp) (if plugins == null then allPlugins else plugins);
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
versionBranch = lib.versions.majorMinor gimp.version;
in symlinkJoin {
name = "gimp-with-plugins-${gimp.version}";
paths = [ gimp ] ++ selectedPlugins;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
wrapProgram $out/bin/$each \
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
--set GIMP2_DATADIR "$out/share/gimp/2.0" \
--prefix GTK_PATH : "${gnome.gnome-themes-extra}/lib/gtk-2.0" \
${toString extraArgs}
done
set +x
for each in gimp gimp-console; do
ln -sf "$each-${versionBranch}" $out/bin/$each
done
'';
inherit (gimp) meta;
}