biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / misc / uutils-coreutils / default.nix
bloba71567b59038fa12afedb0d7dd3d9af4fba0760d
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , rustPlatform
5 , cargo
6 , sphinx
7 , Security
8 , libiconv
9 , prefix ? "uutils-"
10 , buildMulticallBinary ? true
13 stdenv.mkDerivation rec {
14   pname = "uutils-coreutils";
15   version = "0.0.27";
17   src = fetchFromGitHub {
18     owner = "uutils";
19     repo = "coreutils";
20     rev = version;
21     hash = "sha256-6MbX3C5NVwiOwXW5xJO2X3qKMh3pUSALR9aK2IbgaaU=";
22   };
24   cargoDeps = rustPlatform.fetchCargoTarball {
25     inherit src;
26     name = "uutils-coreutils-${version}";
27     hash = "sha256-JowORfYHxN8GqvWeUm0ACnHNM3uZviYbhR7BOeAfphw=";
28   };
30   nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
32   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security libiconv ];
34   makeFlags = [
35     "CARGO=${cargo}/bin/cargo"
36     "PREFIX=${placeholder "out"}"
37     "PROFILE=release"
38     "INSTALLDIR_MAN=${placeholder "out"}/share/man/man1"
39   ] ++ lib.optionals (prefix != null) [ "PROG_PREFIX=${prefix}" ]
40   ++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ];
42   # too many impure/platform-dependent tests
43   doCheck = false;
45   meta = with lib; {
46     description = "Cross-platform Rust rewrite of the GNU coreutils";
47     longDescription = ''
48       uutils is an attempt at writing universal (as in cross-platform)
49       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
50     '';
51     homepage = "https://github.com/uutils/coreutils";
52     maintainers = with maintainers; [ siraben ];
53     license = licenses.mit;
54     platforms = platforms.unix;
55   };