Unverified Commit 9b5d4568 authored by Samuel Dionne-Riel's avatar Samuel Dionne-Riel Committed by GitHub
Browse files

Merge pull request #255403 from RaitoBezarius/uboot

buildUBoot: supports Python scripts with their own environment
parents 0d23229e 32104c2f
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
, openssl
, swig
, which
, python3
, armTrustedFirmwareAllwinner
, armTrustedFirmwareAllwinnerH6
, armTrustedFirmwareAllwinnerH616
@@ -44,6 +45,7 @@ let
    version ? null
  , src ? null
  , filesToInstall
  , pythonScriptsToInstall ? { }
  , installDir ? "$out"
  , defconfig
  , extraConfig ? ""
@@ -63,6 +65,10 @@ let
    ] ++ extraPatches;

    postPatch = ''
      ${lib.concatMapStrings (script: ''
        substituteInPlace ${script} \
        --replace "#!/usr/bin/env python3" "#!${pythonScriptsToInstall.${script}}/bin/python3"
      '') (builtins.attrNames pythonScriptsToInstall)}
      patchShebangs tools
      patchShebangs scripts
    '';
@@ -110,12 +116,12 @@ let
      runHook preInstall

      mkdir -p ${installDir}
      cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
      cp ${lib.concatStringsSep " " (filesToInstall ++ builtins.attrNames pythonScriptsToInstall)} ${installDir}

      mkdir -p "$out/nix-support"
      ${lib.concatMapStrings (file: ''
        echo "file binary-dist ${installDir}/${builtins.baseNameOf file}" >> "$out/nix-support/hydra-build-products"
      '') filesToInstall}
      '') (filesToInstall ++ builtins.attrNames pythonScriptsToInstall)}

      runHook postInstall
    '';
@@ -128,7 +134,7 @@ let
      license = licenses.gpl2;
      maintainers = with maintainers; [ bartsch dezgeg samueldr lopsided98 ];
    } // extraMeta;
  } // removeAttrs args [ "extraMeta" ]));
  } // removeAttrs args [ "extraMeta" "pythonScriptsToInstall" ]));
in {
  inherit buildUBoot;

@@ -154,6 +160,10 @@ in {
      "tools/mkenvimage"
      "tools/mkimage"
    ];

    pythonScriptsToInstall = {
      "tools/efivar.py" = (python3.withPackages (ps: [ ps.pyopenssl ]));
    };
  };

  ubootA20OlinuxinoLime = buildUBoot {