From 52ec937b7786187feb97c4570839b100745cb1e6 Mon Sep 17 00:00:00 2001 From: Emily Trau Date: Fri, 28 Jul 2023 02:23:05 -0700 Subject: [PATCH] minimal-bootstrap.findutils: init at 4.4.2 --- .../linux/minimal-bootstrap/default.nix | 7 ++ .../minimal-bootstrap/findutils/default.nix | 72 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix index 1c286e73aa18..3b84795678ef 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -48,6 +48,12 @@ lib.makeScope glibc = glibc22; }; + findutils = callPackage ./findutils { + bash = bash_2_05; + gcc = gcc2; + glibc = glibc22; + }; + gawk = callPackage ./gawk { bash = bash_2_05; tinycc = tinycc-mes; @@ -141,6 +147,7 @@ lib.makeScope echo ${binutils-mes.tests.get-version} echo ${bzip2.tests.get-version} echo ${diffutils.tests.get-version} + echo ${findutils.tests.get-version} echo ${gawk.tests.get-version} echo ${gcc2.tests.get-version} echo ${gcc2-mes.tests.get-version} diff --git a/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix new file mode 100644 index 000000000000..cf26abd21383 --- /dev/null +++ b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix @@ -0,0 +1,72 @@ +{ lib +, buildPlatform +, hostPlatform +, fetchurl +, bash +, gcc +, glibc +, binutils +, linux-headers +, gnumake +, gnugrep +, gnused +, gawk +, gnutar +, gzip +}: +let + pname = "findutils"; + version = "4.4.2"; + + src = fetchurl { + url = "mirror://gnu/findutils/findutils-${version}.tar.gz"; + sha256 = "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"; + }; +in +bash.runCommand "${pname}-${version}" { + inherit pname version; + + nativeBuildInputs = [ + gcc + binutils + gnumake + gnused + gnugrep + gawk + gnutar + gzip + ]; + + passthru.tests.get-version = result: + bash.runCommand "${pname}-get-version-${version}" {} '' + ${result}/bin/find --version + mkdir $out + ''; + + meta = with lib; { + description = "GNU Find Utilities, the basic directory searching utilities of the GNU operating system"; + homepage = "https://www.gnu.org/software/findutils"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; +} '' + # Unpack + tar xzf ${src} + cd findutils-${version} + + # Configure + export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include" + export LIBRARY_PATH="${glibc}/lib" + export LIBS="-lc -lnss_files -lnss_dns -lresolv" + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} + + # Build + make + + # Install + make install +''