aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix125
1 files changed, 48 insertions, 77 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
index 0b5e6a7f379f..84f5abfce063 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -1,33 +1,51 @@
-# install these packages into your profile. Then add
-# ~/.nix-profile/gimp-version-plugins to your plugin list you can find at
-# preferences -> Folders -> Plug-ins
-# same applies for the scripts
+# 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 pkg-config intltool glib fetchFromGitHub;
+in
+
+lib.makeScope pkgs.newScope (self:
-{ config, pkgs, gimp }:
let
- inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub;
- inherit (gimp) targetPluginDir targetScriptDir;
+ # Use GIMP from the scope.
+ inherit (self) gimp;
- pluginDerivation = a: let
- name = a.name or "${a.pname}-${a.version}";
+ pluginDerivation = attrs: let
+ name = attrs.name or "${attrs.pname}-${attrs.version}";
in stdenv.mkDerivation ({
prePhases = "extraLib";
extraLib = ''
installScripts(){
- mkdir -p $out/${targetScriptDir}/${name};
- for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done
+ mkdir -p $out/${gimp.targetScriptDir}/${name};
+ for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
}
installPlugins(){
- mkdir -p $out/${targetPluginDir}/${name};
- for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done
+ mkdir -p $out/${gimp.targetPluginDir}/${name};
+ for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done
}
'';
+
+ # Override installation paths.
+ PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}";
+ PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}";
}
- // a
+ // attrs
// {
name = "gimp-plugin-${name}";
- buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []);
- nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []);
+ buildInputs = [
+ gimp
+ gimp.gtk
+ glib
+ ] ++ (attrs.buildInputs or []);
+
+ nativeBuildInputs = [
+ pkg-config
+ intltool
+ ] ++ (attrs.nativeBuildInputs or []);
}
);
@@ -35,10 +53,11 @@ let
phases = [ "extraLib" "installPhase" ];
installPhase = "installScripts ${src}";
} // attrs);
-
in
+{
+ # Allow overriding GIMP package in the scope.
+ inherit (pkgs) gimp;
-stdenv.lib.makeScope pkgs.newScope (self: with self; {
gap = pluginDerivation {
/* menu:
Video
@@ -49,10 +68,6 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
};
NIX_LDFLAGS = "-lm";
- patchPhase = ''
- sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
- -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
- '';
hardeningDisable = [ "format" ];
meta = with stdenv.lib; {
description = "The GIMP Animation Package";
@@ -85,22 +100,6 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
};
};
- focusblur = pluginDerivation rec {
- /* menu:
- Blur/Focus Blur
- */
- name = "focusblur-3.2.6";
- buildInputs = with pkgs; [ fftwSinglePrec ];
- patches = [ ./patches/focusblur-glib.patch ];
- postInstall = "fail";
- installPhase = "installPlugins src/focusblur";
- src = fetchurl {
- url = "http://registry.gimp.org/files/${name}.tar.bz2";
- sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
- };
- meta.broken = true;
- };
-
resynthesizer = pluginDerivation rec {
/* menu:
Edit/Fill with pattern seamless...
@@ -115,7 +114,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
version = "2.0.3";
buildInputs = with pkgs; [ fftw ];
nativeBuildInputs = with pkgs; [ autoreconfHook ];
- makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/lib/gimp/2.0" ];
+ makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ];
src = fetchFromGitHub {
owner = "bootchk";
repo = "resynthesizer";
@@ -143,24 +142,25 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
name = "wavelet-sharpen-0.1.2";
NIX_LDFLAGS = "-lm";
src = fetchurl {
- url = "http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
+ 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 = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
};
- lqrPlugin = pluginDerivation {
+ lqrPlugin = pluginDerivation rec {
/* menu:
Layer/Liquid Rescale
*/
- name = "lqr-plugin-0.6.1";
+ pname = "lqr-plugin";
+ version = "0.7.2";
buildInputs = with pkgs; [ liblqr1 ];
- src = fetchurl {
- url = "http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2";
- sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
+ src = fetchFromGitHub {
+ owner = "carlobaldassi";
+ repo = "gimp-lqr-plugin";
+ rev = "v${version}";
+ sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
};
- #postInstall = ''mkdir -p $out/nix-support; echo "${liblqr1}" > "$out/nix-support/propagated-user-env-packages"'';
- installPhase = "installPlugins src/gimp-lqr-plugin";
};
gmic = pkgs.gmic-qt.override {
@@ -212,37 +212,8 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
lightning = scriptDerivation {
name = "Lightning";
src = fetchurl {
- url = "http://registry.gimp.org/files/Lightning.scm";
+ url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm";
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
};
};
-
- /* space in name trouble ?
-
- rainbowPlasma = scriptDerivation {
- # http://registry.gimp.org/node/164
- name = "rainbow-plasma";
- src = fetchurl {
- url = "http://registry.gimp.org/files/Rainbow Plasma.scm";
- sha256 = "34308d4c9441f9e7bafa118af7ec9540f10ea0df75e812e2f3aa3fd7b5344c23";
- name = "Rainbow-Plasma.scm"; # nix doesn't like spaces, does it?
- };
- };
- */
-
- /* doesn't seem to be working :-(
- lightningGate = scriptDerivation {
- # http://registry.gimp.org/node/153
- name = "lightning-gate";
- src = fetchurl {
- url = "http://registry.gimp.org/files/LightningGate.scm";
- sha256 = "181w1zi9a99kn2mfxjp43wkwcgw5vbb6iqjas7a9mhm8p04csys2";
- };
- };
- */
-
-} // stdenv.lib.optionalAttrs (config.allowAliases or true) {
-
- resynthesizer2 = resynthesizer;
-
})