ieda: init at 0-unstable-2024-10-11 (#338769)
[NixPkgs.git] / pkgs / tools / misc / uutils-coreutils / default.nix
blob6d08d31d78e2c7df4b928d3316269f8dd5c74efb
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   rustPlatform,
6   cargo,
7   sphinx,
8   Security,
9   libiconv,
10   prefix ? "uutils-",
11   buildMulticallBinary ? true,
14 stdenv.mkDerivation rec {
15   pname = "uutils-coreutils";
16   version = "0.0.28";
18   src = fetchFromGitHub {
19     owner = "uutils";
20     repo = "coreutils";
21     rev = "refs/tags/${version}";
22     hash = "sha256-Gwks+xTkwK5dgV9AkSthIrhBNwq/WvM9SNr0wR/SBSM=";
23   };
25   cargoDeps = rustPlatform.fetchCargoTarball {
26     inherit src;
27     name = "uutils-coreutils-${version}";
28     hash = "sha256-i7RvsgtmkH8og8lkRQURWLrzrhPkxans+KME2Ili0wM=";
29   };
31   nativeBuildInputs = [
32     rustPlatform.cargoSetupHook
33     sphinx
34   ];
36   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
37     Security
38     libiconv
39   ];
41   makeFlags =
42     [
43       "CARGO=${cargo}/bin/cargo"
44       "PREFIX=${placeholder "out"}"
45       "PROFILE=release"
46       "INSTALLDIR_MAN=${placeholder "out"}/share/man/man1"
47     ]
48     ++ lib.optionals (prefix != null) [ "PROG_PREFIX=${prefix}" ]
49     ++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ];
51   # too many impure/platform-dependent tests
52   doCheck = false;
54   meta = {
55     description = "Cross-platform Rust rewrite of the GNU coreutils";
56     longDescription = ''
57       uutils is an attempt at writing universal (as in cross-platform)
58       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
59     '';
60     homepage = "https://github.com/uutils/coreutils";
61     maintainers = with lib.maintainers; [ siraben ];
62     license = lib.licenses.mit;
63     platforms = lib.platforms.unix;
64   };