9 , buildMulticallBinary ? true
12 stdenv.mkDerivation rec {
13 pname = "uutils-coreutils";
16 src = fetchFromGitHub {
20 sha256 = "sha256-dnswE/DU2jCfxWW10Ctjw8woktwWZqyd3E9IuKkle1M=";
24 # can be removed after https://github.com/uutils/coreutils/pull/1815 is included
25 substituteInPlace GNUmakefile \
26 --replace uutils coreutils
29 cargoDeps = rustPlatform.fetchCargoTarball {
31 name = "${pname}-${version}";
32 hash = "sha256-92BHPSVIPZLn399AcaJJjRq2WkxzDm8knKN3FIdAxAA=";
35 nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
37 buildInputs = lib.optional stdenv.isDarwin Security;
40 "CARGO=${cargo}/bin/cargo"
41 "PREFIX=${placeholder "out"}"
43 "INSTALLDIR_MAN=${placeholder "out"}/share/man/man1"
44 ] ++ lib.optionals (prefix != null) [ "PROG_PREFIX=${prefix}" ]
45 ++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ];
47 # too many impure/platform-dependent tests
51 description = "Cross-platform Rust rewrite of the GNU coreutils";
53 uutils is an attempt at writing universal (as in cross-platform)
54 CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
56 homepage = "https://github.com/uutils/coreutils";
57 maintainers = with maintainers; [ siraben SuperSandro2000 ];
58 license = licenses.mit;
59 platforms = platforms.unix;