mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-12 08:43:06 +00:00
33afbf39f6
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
80 lines
2.0 KiB
Nix
80 lines
2.0 KiB
Nix
{
|
|
stdenv, lib, fetchFromGitHub, which,
|
|
buildPackages, libxcrypt, libiconv,
|
|
enableStatic ? stdenv.hostPlatform.isStatic,
|
|
enableMinimal ? false,
|
|
extraConfig ? ""
|
|
}:
|
|
|
|
let
|
|
inherit (lib) optionals;
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "toybox";
|
|
version = "0.8.8";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "landley";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-T3qE9xlcEoZOcY52XfYPpN34zzQl6mfcRnyuldnIvCk=";
|
|
};
|
|
|
|
depsBuildBuild = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ buildPackages.stdenv.cc ];
|
|
buildInputs = [
|
|
libxcrypt
|
|
] ++ optionals stdenv.isDarwin [
|
|
libiconv
|
|
] ++ optionals (enableStatic && stdenv.cc.libc ? static) [
|
|
stdenv.cc.libc
|
|
stdenv.cc.libc.static
|
|
];
|
|
|
|
postPatch = "patchShebangs .";
|
|
|
|
inherit extraConfig;
|
|
passAsFile = [ "extraConfig" ];
|
|
|
|
configurePhase = ''
|
|
make ${if enableMinimal then
|
|
"allnoconfig"
|
|
else
|
|
if stdenv.isFreeBSD then
|
|
"freebsd_defconfig"
|
|
else
|
|
if stdenv.isDarwin then
|
|
"macos_defconfig"
|
|
else
|
|
"defconfig"
|
|
}
|
|
|
|
cat $extraConfigPath .config > .config-
|
|
mv .config- .config
|
|
|
|
make oldconfig
|
|
'';
|
|
|
|
makeFlags = [ "PREFIX=$(out)/bin" ] ++ optionals enableStatic [ "LDFLAGS=--static" ];
|
|
|
|
installTargets = [ "install_flat" ];
|
|
|
|
# tests currently (as of 0.8.0) get stuck in an infinite loop...
|
|
# ...this is fixed in latest git, so doCheck can likely be enabled for next release
|
|
# see https://github.com/landley/toybox/commit/b928ec480cd73fd83511c0f5ca786d1b9f3167c3
|
|
#doCheck = true;
|
|
nativeCheckInputs = [ which ]; # used for tests with checkFlags = [ "DEBUG=true" ];
|
|
checkTarget = "tests";
|
|
|
|
NIX_CFLAGS_COMPILE = "-Wno-error";
|
|
|
|
meta = with lib; {
|
|
description = "Lightweight implementation of some Unix command line utilities";
|
|
homepage = "https://landley.net/toybox/";
|
|
license = licenses.bsd0;
|
|
platforms = with platforms; linux ++ darwin ++ freebsd;
|
|
maintainers = with maintainers; [ hhm ];
|
|
priority = 10;
|
|
};
|
|
}
|