linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / tools / misc / uutils-coreutils / default.nix
blobb2d3883176c62584d322f6ea842328bb7e17629c
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , rustPlatform
5 , cargo
6 , sphinx
7 , Security
8 , prefix ? "uutils-"
9 , buildMulticallBinary ? true
12 stdenv.mkDerivation rec {
13   pname = "uutils-coreutils";
14   version = "0.0.6";
16   src = fetchFromGitHub {
17     owner = "uutils";
18     repo = "coreutils";
19     rev = version;
20     sha256 = "sha256-dnswE/DU2jCfxWW10Ctjw8woktwWZqyd3E9IuKkle1M=";
21   };
23   postPatch = ''
24     # can be removed after https://github.com/uutils/coreutils/pull/1815 is included
25     substituteInPlace GNUmakefile \
26       --replace uutils coreutils
27   '';
29   cargoDeps = rustPlatform.fetchCargoTarball {
30     inherit src;
31     name = "${pname}-${version}";
32     hash = "sha256-92BHPSVIPZLn399AcaJJjRq2WkxzDm8knKN3FIdAxAA=";
33   };
35   nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
37   buildInputs = lib.optional stdenv.isDarwin Security;
39   makeFlags = [
40     "CARGO=${cargo}/bin/cargo"
41     "PREFIX=${placeholder "out"}"
42     "PROFILE=release"
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
48   doCheck = false;
50   meta = with lib; {
51     description = "Cross-platform Rust rewrite of the GNU coreutils";
52     longDescription = ''
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.
55     '';
56     homepage = "https://github.com/uutils/coreutils";
57     maintainers = with maintainers; [ siraben SuperSandro2000 ];
58     license = licenses.mit;
59     platforms = platforms.unix;
60   };