mkDerivation: Fix errors from #27365

`nix-build pkgs/top-level/release.nix -A tarball` now succeeds.

`configureFlags = null` lead to a type error, and one overrideDrv
needed to be converted to to append a configureFlags list instead of
string due to the normalization.

Thanks @vcunat for alerting me to the issues---sorry I did not catch
them before merging my own PR.
This commit is contained in:
John Ericson 2017-07-15 13:47:21 -04:00
parent aca5ba405e
commit aaaa470ff8
2 changed files with 5 additions and 3 deletions

View file

@ -98,9 +98,11 @@ rec {
propagatedNativeBuildInputs = lib.elemAt propagatedDependencies' 0;
propagatedBuildInputs = lib.elemAt propagatedDependencies' 1;
# This parameter is sometimes a string and sometimes a list, yuck
# This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
configureFlags = let inherit (lib) optional elem; in
(if lib.isString configureFlags then [configureFlags] else configureFlags)
(/**/ if lib.isString configureFlags then [configureFlags]
else if configureFlags == null then []
else configureFlags)
++ optional (elem "build" configurePlatforms) "--build=${stdenv.buildPlatform.config}"
++ optional (elem "host" configurePlatforms) "--host=${stdenv.hostPlatform.config}"
++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";

View file

@ -3591,7 +3591,7 @@ with pkgs;
(attrs: { nativeBuildInputs = attrs.nativeBuildInputs ++ [ gtk3 ];
# Fix this build error in ./tests/examples/waylandsink:
# main.c:28:2: error: #error "Wayland is not supported in GTK+"
configureFlags = attrs.configureFlags or "" + "--enable-wayland=no";
configureFlags = attrs.configureFlags or [] ++ [ "--enable-wayland=no" ];
});
};
};