Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.4 kB · 106 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107{ stdenv, lib, callPackage,}:let common = arch: callPackage ( { bison, callPackage, curl, fetchgit, flex, getopt, git, gnat14, gcc14, lib, perl, stdenvNoCC, zlib, withAda ? true, }:
stdenvNoCC.mkDerivation (finalAttrs: { pname = "coreboot-toolchain-${arch}"; version = "25.03";
src = fetchgit { url = "https://review.coreboot.org/coreboot"; rev = finalAttrs.version; hash = "sha256-zyfBQKVton+2vjYd6fqrUqkHY9bci411pujRGabvTjQ="; fetchSubmodules = false; leaveDotGit = true; postFetch = '' PATH=${lib.makeBinPath [ getopt ]}:$PATH ${stdenv.shell} $out/util/crossgcc/buildgcc -W > $out/.crossgcc_version rm -rf $out/.git ''; allowedRequisites = [ ]; };
nativeBuildInputs = [ bison curl git perl ]; buildInputs = [ flex zlib (if withAda then gnat14 else gcc14) ];
enableParallelBuilding = true; dontConfigure = true; dontInstall = true;
postPatch = '' patchShebangs util/crossgcc/buildgcc
mkdir -p util/crossgcc/tarballs
${lib.concatMapStringsSep "\n" (file: "ln -s ${file.archive} util/crossgcc/tarballs/${file.name}") ( callPackage ./stable.nix { } )}
patchShebangs util/genbuild_h/genbuild_h.sh '';
buildPhase = '' export CROSSGCC_VERSION=$(cat .crossgcc_version) make crossgcc-${arch} CPUS=$NIX_BUILD_CORES DEST=$out '';
meta = with lib; { homepage = "https://www.coreboot.org"; description = "Coreboot toolchain for ${arch} targets"; license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ]; maintainers = with maintainers; [ felixsinger jmbaur ]; platforms = platforms.linux; }; }) );in
lib.listToAttrs ( map (arch: lib.nameValuePair arch (common arch { })) [ "i386" "x64" "arm" "aarch64" "riscv" "ppc64" ])