diff options
Diffstat (limited to 'pkgs/applications/graphics/gimp/plugins/default.nix')
-rw-r--r-- | pkgs/applications/graphics/gimp/plugins/default.nix | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 555bfbe17e7f..db3bd494b6b1 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -23,9 +23,12 @@ let mkdir -p $out/${gimp.targetScriptDir}/${name}; for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done } - installPlugins(){ - mkdir -p $out/${gimp.targetPluginDir}/${name}; - for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${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" "$@" } ''; @@ -83,15 +86,28 @@ in Filters/Generic/FFT Forward Filters/Generic/FFT Inverse */ - name = "fourier-0.4.3"; - buildInputs = with pkgs; [ fftw ]; + pname = "fourier"; + version = "0.4.3"; src = fetchurl { - url = "https://www.lprp.fr/files/old-web/soft/gimp/${name}.tar.gz"; + url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz"; sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn"; }; - installPhase = "installPlugins fourier"; + buildInputs = with pkgs; [ fftw ]; + + postPatch = '' + # 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"; @@ -131,7 +147,7 @@ in rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1"; sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw"; }; - installPhase = "installPlugins src/texturize"; + installPhase = "installPlugin src/texturize"; meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1 }; @@ -145,7 +161,7 @@ in 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? + installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix? }; lqrPlugin = pluginDerivation rec { @@ -181,7 +197,7 @@ in buildInputs = with pkgs; [ lensfun gexiv2 ]; installPhase = " - installPlugins gimp-lensfun + installPlugin gimp-lensfun "; meta = { |