jql: 8.0.0 -> 8.0.2 (#362884)
[NixPkgs.git] / pkgs / tools / misc / toybox / default.nix
blob37695fb066a8333d8fc3a9db248f5b3bcd94ee5f
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   which,
6   buildPackages,
7   libxcrypt,
8   libiconv,
9   enableStatic ? stdenv.hostPlatform.isStatic,
10   enableMinimal ? false,
11   extraConfig ? "",
14 let
15   inherit (lib) optionals;
18 stdenv.mkDerivation rec {
19   pname = "toybox";
20   version = "0.8.11";
22   src = fetchFromGitHub {
23     owner = "landley";
24     repo = pname;
25     rev = version;
26     sha256 = "sha256-7izs2C5/czec0Dt3apL8s7luARAlw4PfUFy9Xsxb0zw=";
27   };
29   depsBuildBuild = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
30     buildPackages.stdenv.cc
31   ];
32   buildInputs =
33     [
34       libxcrypt
35     ]
36     ++ optionals stdenv.hostPlatform.isDarwin [
37       libiconv
38     ]
39     ++ optionals (enableStatic && stdenv.cc.libc ? static) [
40       stdenv.cc.libc
41       stdenv.cc.libc.static
42     ];
44   postPatch = "patchShebangs .";
46   inherit extraConfig;
47   passAsFile = [ "extraConfig" ];
49   configurePhase = ''
50     make ${
51       if enableMinimal then
52         "allnoconfig"
53       else if stdenv.hostPlatform.isFreeBSD then
54         "freebsd_defconfig"
55       else if stdenv.hostPlatform.isDarwin then
56         "macos_defconfig"
57       else
58         "defconfig"
59     }
61     cat $extraConfigPath .config > .config-
62     mv .config- .config
64     make oldconfig
65   '';
67   makeFlags = [ "PREFIX=$(out)/bin" ] ++ optionals enableStatic [ "LDFLAGS=--static" ];
69   installTargets = [ "install_flat" ];
71   # tests currently (as of 0.8.0) get stuck in an infinite loop...
72   # ...this is fixed in latest git, so doCheck can likely be enabled for next release
73   # see https://github.com/landley/toybox/commit/b928ec480cd73fd83511c0f5ca786d1b9f3167c3
74   #doCheck = true;
75   nativeCheckInputs = [ which ]; # used for tests with checkFlags = [ "DEBUG=true" ];
76   checkTarget = "tests";
78   env.NIX_CFLAGS_COMPILE = "-Wno-error";
80   meta = with lib; {
81     description = "Lightweight implementation of some Unix command line utilities";
82     homepage = "https://landley.net/toybox/";
83     license = licenses.bsd0;
84     platforms = with platforms; linux ++ darwin ++ freebsd;
85     maintainers = with maintainers; [ hhm ];
86     priority = 10;
87   };