gimpPlugins: include GIMP into the scope
So that it can be easily overridden. Also clean up, update usage comment for this century and remove alias.
This commit is contained in:
parent
f4c513125d
commit
aa96bd294b
@ -1,12 +1,18 @@
|
|||||||
# install these packages into your profile. Then add
|
# Use `gimp-with-plugins` package for GIMP with all plug-ins.
|
||||||
# ~/.nix-profile/gimp-version-plugins to your plugin list you can find at
|
# If you just want a subset of plug-ins, you can specify them explicitly:
|
||||||
# preferences -> Folders -> Plug-ins
|
# `gimp-with-plugins.override { plugins = with gimpPlugins; [ gap ]; }`.
|
||||||
# same applies for the scripts
|
|
||||||
|
{ config, lib, pkgs }:
|
||||||
|
|
||||||
{ config, pkgs, gimp }:
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub;
|
inherit (pkgs) stdenv fetchurl pkg-config intltool glib fetchFromGitHub;
|
||||||
inherit (gimp) targetPluginDir targetScriptDir;
|
in
|
||||||
|
|
||||||
|
lib.makeScope pkgs.newScope (self:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Use GIMP from the scope.
|
||||||
|
inherit (self) gimp;
|
||||||
|
|
||||||
pluginDerivation = attrs: let
|
pluginDerivation = attrs: let
|
||||||
name = attrs.name or "${attrs.pname}-${attrs.version}";
|
name = attrs.name or "${attrs.pname}-${attrs.version}";
|
||||||
@ -14,12 +20,12 @@ let
|
|||||||
prePhases = "extraLib";
|
prePhases = "extraLib";
|
||||||
extraLib = ''
|
extraLib = ''
|
||||||
installScripts(){
|
installScripts(){
|
||||||
mkdir -p $out/${targetScriptDir}/${name};
|
mkdir -p $out/${gimp.targetScriptDir}/${name};
|
||||||
for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done
|
for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
|
||||||
}
|
}
|
||||||
installPlugins(){
|
installPlugins(){
|
||||||
mkdir -p $out/${targetPluginDir}/${name};
|
mkdir -p $out/${gimp.targetPluginDir}/${name};
|
||||||
for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done
|
for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -30,8 +36,16 @@ let
|
|||||||
// attrs
|
// attrs
|
||||||
// {
|
// {
|
||||||
name = "gimp-plugin-${name}";
|
name = "gimp-plugin-${name}";
|
||||||
buildInputs = [ gimp gimp.gtk glib ] ++ (attrs.buildInputs or []);
|
buildInputs = [
|
||||||
nativeBuildInputs = [ pkgconfig intltool ] ++ (attrs.nativeBuildInputs or []);
|
gimp
|
||||||
|
gimp.gtk
|
||||||
|
glib
|
||||||
|
] ++ (attrs.buildInputs or []);
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
intltool
|
||||||
|
] ++ (attrs.nativeBuildInputs or []);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -39,10 +53,11 @@ let
|
|||||||
phases = [ "extraLib" "installPhase" ];
|
phases = [ "extraLib" "installPhase" ];
|
||||||
installPhase = "installScripts ${src}";
|
installPhase = "installScripts ${src}";
|
||||||
} // attrs);
|
} // attrs);
|
||||||
|
|
||||||
in
|
in
|
||||||
|
{
|
||||||
|
# Allow overriding GIMP package in the scope.
|
||||||
|
inherit (pkgs) gimp;
|
||||||
|
|
||||||
stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
|
||||||
gap = pluginDerivation {
|
gap = pluginDerivation {
|
||||||
/* menu:
|
/* menu:
|
||||||
Video
|
Video
|
||||||
@ -201,9 +216,4 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
|
|||||||
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // stdenv.lib.optionalAttrs (config.allowAliases or true) {
|
|
||||||
|
|
||||||
resynthesizer2 = resynthesizer;
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
|
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
|
||||||
selectedPlugins = if plugins == null then allPlugins else plugins;
|
selectedPlugins = lib.filter (pkg: pkg != gimpPlugins.gimp) (if plugins == null then allPlugins else plugins);
|
||||||
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
||||||
versionBranch = stdenv.lib.versions.majorMinor gimp.version;
|
versionBranch = stdenv.lib.versions.majorMinor gimp.version;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user