Change:
Describe the bug I need to list the out paths of cross compiled packages beforehand which causes an eval error. To Reproduce Steps to reproduce the behavior: Expected behavior List all out paths like `. Additional context I need this feature for nixpkgs-review when cross compiling. Notify maintainers <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Metadata system: host os: multi-user?: sandbox: version: channels(user): nixpkgs: Maintainer information:
I think its because of the lack of splicing for perl-packages. Note however, that when that is fixed, other package sets will fail with the same issue. cc
Probably multiple issues. Have seen that problem with building xwayland for aarch64 too. Removing makeWrapper helps but probably breaks it :(. But the deps don't cross-build anyway so never got that far for now. Was thinking about opening an issue but got caught up trying to find the issue -- to no avail. Not currently at my machine, might post it later.
I marked this as stale due to inactivity. &rarr;
still important to me
Fix in

Discussion:
<del> { pkgs, lib, stdenv, fetchFromGitHub }: with pkgs.lib; </del> <ins> { lib, stdenv, fetchFromGitHub, makeWrapper, getopt, git, coreutils }: </ins> stdenv.mkDerivation rec { pname = "gitflow";

sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8="; }; <del> nativeBuildInputs = [ pkgs.makeWrapper ]; </del> <ins> nativeBuildInputs = [ makeWrapper ]; </ins> preBuild = '' makeFlagsArray+=(prefix="$out")

postInstall = '' wrapProgram $out/bin/git-flow  <del> --set FLAGS_GETOPT_CMD ${pkgs.getopt}/bin/getopt  --suffix PATH : ${pkgs.git}/bin  --prefix PATH : ${pkgs.coreutils}/bin </del> <ins> --set FLAGS_GETOPT_CMD ${getopt}/bin/getopt  --suffix PATH : ${git}/bin  --prefix PATH : ${coreutils}/bin </ins> ''; meta = with lib; {

npmInstallHook = makeSetupHook { name = "npm-install-hook"; <del> deps = [ makeWrapper ]; </del> <ins> deps = [ buildPackages.makeWrapper ]; </ins> substitutions = { hostNode = "${nodejs}/bin/node"; jq = "${buildPackages.jq}/bin/jq";

<del> { lib, pkgs, erlang }: </del> <ins> { lib, __splicedPackages, erlang }: </ins> let <ins> pkgs = __splicedPackages; </ins> inherit (lib) makeExtensible; lib' = pkgs.callPackage ./lib.nix { };

<del> { pkgs, lib }: </del> <ins> { __splicedPackages, lib }: let pkgs = __splicedPackages; in </ins> rec { /* Similar to callPackageWith/callPackage, but without makeOverridable

<del> { stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, nativeBuildRoot }: </del> <ins> { stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, nativeBuildRoot, buildRootOnly ? false }: </ins> import ./base.nix { version = "63.1";

}) ]; patchFlags = [ "-p3" ]; <del> } { inherit stdenv lib fetchurl fixDarwinDylibNames nativeBuildRoot; } </del> <ins> } { inherit stdenv lib fetchurl fixDarwinDylibNames nativeBuildRoot buildRootOnly; } </ins>

makeShellWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { <del> shell = targetPackages.runtimeShell; </del> <ins> # targetPackages.runtimeShell only exists when pkgs == targetPackages (when targetPackages is not  __raw) shell = if targetPackages ? runtimeShell then targetPackages.runtimeShell else throw "makeWrapper/makeShellWrapper must be in nativeBuildInputs"; </ins> }; passthru = { tests = tests.makeWrapper;