Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.9 kB · 128 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129{ lib, buildPlatform, hostPlatform, fetchurl, bootBash, gnumake, gnupatch, gnused, gnugrep, gnutar, gawk, gzip, diffutils, tinycc, derivationWithMeta, bash, coreutils,}:let pname = "bash"; version = "5.2.15";
src = fetchurl { url = "mirror://gnu/bash/bash-${version}.tar.gz"; sha256 = "132qng0jy600mv1fs95ylnlisx2wavkkgpb19c6kmz7lnmjhjwhk"; };
patches = [ # flush output for generated code ./mksignames-flush.patch ];inbootBash.runCommand "${pname}-${version}" { inherit pname version;
nativeBuildInputs = [ coreutils tinycc.compiler gnumake gnupatch gnused gnugrep gnutar gawk gzip diffutils ];
passthru.runCommand = name: env: buildCommand: derivationWithMeta ( { inherit name buildCommand; builder = "${bash}/bin/bash"; args = [ "-e" (builtins.toFile "bash-builder.sh" '' export CONFIG_SHELL=$SHELL
# Normalize the NIX_BUILD_CORES variable. The value might be 0, which # means that we're supposed to try and auto-detect the number of # available CPU cores at run-time. NIX_BUILD_CORES="''${NIX_BUILD_CORES:-1}" if ((NIX_BUILD_CORES <= 0)); then guess=$(nproc 2>/dev/null || true) ((NIX_BUILD_CORES = guess <= 0 ? 1 : guess)) fi export NIX_BUILD_CORES
bash -eux $buildCommandPath '') ]; passAsFile = [ "buildCommand" ];
SHELL = "${bash}/bin/bash"; PATH = lib.makeBinPath ( (env.nativeBuildInputs or [ ]) ++ [ bash coreutils ] ); } // (builtins.removeAttrs env [ "nativeBuildInputs" ]) );
passthru.tests.get-version = result: bootBash.runCommand "${pname}-get-version-${version}" { } '' ${result}/bin/bash --version mkdir $out '';
meta = with lib; { description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; homepage = "https://www.gnu.org/software/bash"; license = licenses.gpl3Plus; teams = [ teams.minimal-bootstrap ]; platforms = platforms.unix; }; } '' # Unpack tar xzf ${src} cd bash-${version}
# Patch ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# Configure export CC="tcc -B ${tinycc.libs}/lib" export AR="tcc -ar" export LD=tcc bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --without-bash-malloc
# Build make -j $NIX_BUILD_CORES SHELL=bash
# Install make -j $NIX_BUILD_CORES install ln -s bash $out/bin/sh ''