gimp: add version to derivation, use symlinkJoin for a wrapper
This commit is contained in:
parent
41b6a17826
commit
d04dafd64e
@ -4,7 +4,8 @@
|
|||||||
, python, pygtk, libart_lgpl, libexif, gettext, xorg, wrapPython }:
|
, python, pygtk, libart_lgpl, libexif, gettext, xorg, wrapPython }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gimp-2.8.16";
|
name = "gimp-${version}";
|
||||||
|
version = "2.8.16";
|
||||||
|
|
||||||
# This declarations for `gimp-with-plugins` wrapper,
|
# This declarations for `gimp-with-plugins` wrapper,
|
||||||
# (used for determining $out/lib/gimp/${majorVersion}/ paths)
|
# (used for determining $out/lib/gimp/${majorVersion}/ paths)
|
||||||
|
@ -1,24 +1,18 @@
|
|||||||
{ stdenv, lib, buildEnv, gimp, makeWrapper, gimpPlugins, plugins ? null}:
|
{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}:
|
||||||
|
|
||||||
let
|
let
|
||||||
allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation") (lib.attrValues gimpPlugins);
|
allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation") (lib.attrValues gimpPlugins);
|
||||||
selectedPlugins = if plugins == null then allPlugins else plugins;
|
selectedPlugins = if plugins == null then allPlugins else plugins;
|
||||||
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
||||||
|
|
||||||
drv = buildEnv {
|
in symlinkJoin {
|
||||||
name = "gimp-with-plugins-" + (builtins.parseDrvName gimp.name).version;
|
name = "gimp-with-plugins-${gimp.version}";
|
||||||
|
|
||||||
paths = [ gimp ] ++ selectedPlugins;
|
paths = [ gimp ] ++ selectedPlugins;
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
# TODO: This could be avoided if buildEnv could be forced to create all directories
|
|
||||||
if [ -L $out/bin ]; then
|
|
||||||
rm $out/bin
|
|
||||||
mkdir $out/bin
|
|
||||||
for i in ${gimp}/bin/*; do
|
|
||||||
ln -s $i $out/bin
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
for each in gimp-2.8 gimp-console-2.8; do
|
for each in gimp-2.8 gimp-console-2.8; do
|
||||||
wrapProgram $out/bin/$each \
|
wrapProgram $out/bin/$each \
|
||||||
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
|
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
|
||||||
@ -29,5 +23,4 @@ drv = buildEnv {
|
|||||||
ln -sf "$each-2.8" $out/bin/$each
|
ln -sf "$each-2.8" $out/bin/$each
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
};
|
}
|
||||||
in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user