nixpkgs/pkgs/tools/misc/jdupes/default.nix

67 lines
2.1 KiB
Nix
Raw Normal View History

2023-01-23 05:53:00 +00:00
{ lib, stdenv, fetchFromGitHub, fetchpatch }:
2017-06-28 02:30:47 +00:00
stdenv.mkDerivation rec {
pname = "jdupes";
2023-01-23 05:53:00 +00:00
version = "1.21.0";
2017-06-28 02:30:47 +00:00
src = fetchFromGitHub {
owner = "jbruchon";
repo = "jdupes";
rev = "v${version}";
2023-01-23 05:53:00 +00:00
sha256 = "sha256-nDyRaV49bLVHlyqKJ7hf6OBWOLCfmHrTeHryK091c3w=";
2017-06-28 02:30:47 +00:00
# Unicode file names lead to different checksums on HFS+ vs. other
# filesystems because of unicode normalisation. The testdir
# directories have such files and will be removed.
2022-05-17 19:10:33 +00:00
postFetch = "rm -r $out/testdir";
2017-06-28 02:30:47 +00:00
};
2023-01-23 05:53:00 +00:00
patches = [
(fetchpatch {
name = "darwin-stack-size.patch";
url = "https://github.com/jbruchon/jdupes/commit/8f5b06109b44a9e4316f9445da3044590a6c63e2.patch";
sha256 = "0saq92v0mm5g979chr062psvwp3i3z23mgqrcliq4m07lvwc7i3s";
})
(fetchpatch {
name = "linux-header-ioctl.patch";
url = "https://github.com/jbruchon/jdupes/commit/0d4d98f51c99999d2c6dbbb89d554af551b5b69b.patch";
sha256 = "sha256-lyuZeRp0Laa8I9nDl1HGdlKa59OvGRQJnRg2fTWv7mQ=";
})
(fetchpatch {
name = "darwin-apfs-comp.patch";
url = "https://github.com/jbruchon/jdupes/commit/517b7035945eacd82323392b13bc17b044bcc89d.patch";
sha256 = "sha256-lvOab6tyEyKUtik3JBdIs5SHpVjcQEDfN7n2bfUszBw=";
})
];
dontConfigure = true;
2020-01-14 16:57:24 +00:00
makeFlags = [
"PREFIX=${placeholder "out"}"
2021-01-15 09:19:50 +00:00
] ++ lib.optionals stdenv.isLinux [
2020-01-14 16:57:24 +00:00
"ENABLE_DEDUPE=1"
"STATIC_DEDUPE_H=1"
2021-01-15 09:19:50 +00:00
] ++ lib.optionals stdenv.cc.isGNU [
"HARDEN=1"
2020-01-14 16:57:24 +00:00
];
2017-06-28 02:30:47 +00:00
2018-06-22 03:17:25 +00:00
enableParallelBuilding = true;
2018-07-23 08:51:53 +00:00
doCheck = false; # broken Makefile, the above also removes tests
2018-06-22 03:17:25 +00:00
postInstall = ''
install -Dm444 -t $out/share/doc/jdupes CHANGES LICENSE README.md
2018-06-22 03:17:25 +00:00
'';
meta = with lib; {
2017-06-28 02:30:47 +00:00
description = "A powerful duplicate file finder and an enhanced fork of 'fdupes'";
longDescription = ''
jdupes is a program for identifying and taking actions upon
duplicate files. This fork known as 'jdupes' is heavily modified
from and improved over the original.
'';
2020-01-14 16:57:24 +00:00
homepage = "https://github.com/jbruchon/jdupes";
2017-06-28 02:30:47 +00:00
license = licenses.mit;
2018-06-22 03:17:25 +00:00
maintainers = with maintainers; [ romildo ];
2017-06-28 02:30:47 +00:00
};
}