Merge pull request #112700 from jtojnar/gimp-plugin-fix

This commit is contained in:
Jan Tojnar 2021-02-11 03:11:48 +01:00 committed by GitHub
commit c854e56a9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -23,9 +23,12 @@ let
mkdir -p $out/${gimp.targetScriptDir}/${name}; mkdir -p $out/${gimp.targetScriptDir}/${name};
for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
} }
installPlugins(){ installPlugin() {
mkdir -p $out/${gimp.targetPluginDir}/${name}; # The base name of the first argument is the plug-in name and the main executable.
for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done # 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 Forward
Filters/Generic/FFT Inverse Filters/Generic/FFT Inverse
*/ */
name = "fourier-0.4.3"; pname = "fourier";
buildInputs = with pkgs; [ fftw ]; version = "0.4.3";
src = fetchurl { 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"; 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; { meta = with lib; {
description = "GIMP plug-in to do the fourier transform"; description = "GIMP plug-in to do the fourier transform";
@ -131,7 +147,7 @@ in
rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1"; rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1";
sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw"; sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
}; };
installPhase = "installPlugins src/texturize"; installPhase = "installPlugin src/texturize";
meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1 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"; url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw"; 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 { lqrPlugin = pluginDerivation rec {
@ -181,7 +197,7 @@ in
buildInputs = with pkgs; [ lensfun gexiv2 ]; buildInputs = with pkgs; [ lensfun gexiv2 ];
installPhase = " installPhase = "
installPlugins gimp-lensfun installPlugin gimp-lensfun
"; ";
meta = { meta = {