nixpkgs/pkgs/tools/graphics/findimagedupes/default.nix
2022-11-14 11:33:25 +00:00

71 lines
1.8 KiB
Nix

{ lib, stdenv, fetchurl, makeWrapper, perl, perlPackages, installShellFiles }:
stdenv.mkDerivation rec {
pname = "findimagedupes";
version = "2.20.1";
# fetching this from GitHub does not contain the correct version number
src = fetchurl {
url = "http://www.jhnc.org/findimagedupes/findimagedupes-${version}.tar.gz";
sha256 = "sha256-VYqSnOD/Ntr0RnktJ/R0t+Z8+NRExA2mAHT2unPt9/o=";
};
# Work around the "unpacker appears to have produced no directories"
setSourceRoot = "sourceRoot=$(pwd)";
nativeBuildInputs = [ makeWrapper installShellFiles ];
buildInputs = [ perl ] ++ (with perlPackages; [
DBFile
FileMimeInfo
FileBaseDir
#GraphicsMagick
ImageMagick
Inline
InlineC
ParseRecDescent
]);
# use /tmp as a storage
# replace GraphicsMagick with ImageMagick, because perl bindings are not yet available
postPatch = ''
substituteInPlace findimagedupes \
--replace "DIRECTORY => '/usr/local/lib/findimagedupes';" "DIRECTORY => '/tmp';" \
--replace "Graphics::Magick" "Image::Magick"
'';
buildPhase = "
runHook preBuild
${perl}/bin/pod2man findimagedupes > findimagedupes.1
runHook postBuild
";
installPhase = ''
runHook preInstall
install -D -m 755 findimagedupes $out/bin/findimagedupes
installManPage findimagedupes.1
runHook postInstall
'';
postFixup = ''
wrapProgram "$out/bin/findimagedupes" \
--prefix PERL5LIB : "${with perlPackages; makePerlPath [
DBFile
FileMimeInfo
FileBaseDir
#GraphicsMagick
ImageMagick
Inline
InlineC
ParseRecDescent
]}"
'';
meta = with lib; {
homepage = "http://www.jhnc.org/findimagedupes/";
description = "Finds visually similar or duplicate images";
license = licenses.gpl3;
maintainers = with maintainers; [ stunkymonkey ];
};
}