{ lib, buildPlatform, hostPlatform, fetchurl, bash, tinycc, gnumake, gnugrep, gnused, gawk, gnutar, xz, }: let pname = "diffutils"; # last version that can be built by tinycc-musl 0.9.27 version = "3.8"; src = fetchurl { url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz"; hash = "sha256-pr3X0bMSZtEcT03mwbdI1GB6sCMa9RiPwlM9CuJDj+w="; }; in bash.runCommand "${pname}-${version}" { inherit pname version; nativeBuildInputs = [ tinycc.compiler gnumake gnused gnugrep gawk gnutar xz ]; passthru.tests.get-version = result: bash.runCommand "${pname}-get-version-${version}" { } '' ${result}/bin/diff --version mkdir $out ''; meta = with lib; { description = "Commands for showing the differences between files (diff, cmp, etc.)"; homepage = "https://www.gnu.org/software/diffutils/diffutils.html"; license = licenses.gpl3Only; teams = [ teams.minimal-bootstrap ]; platforms = platforms.unix; }; } '' # Unpack cp ${src} diffutils.tar.xz unxz diffutils.tar.xz tar xf diffutils.tar rm diffutils.tar cd diffutils-${version} # Configure export CC="tcc -B ${tinycc.libs}/lib" export LD=tcc bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} # Build make -j $NIX_BUILD_CORES AR="tcc -ar" # Install make -j $NIX_BUILD_CORES install ''