forked from lix-project/lix
Allow builtin fetchurl regardless of the derivation's system attribute
This commit is contained in:
parent
01615b5f63
commit
f5b32ff47d
|
@ -1246,12 +1246,19 @@ void DerivationGoal::inputsRealised()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool canBuildLocally(const string & platform)
|
static bool isBuiltin(const BasicDerivation & drv)
|
||||||
{
|
{
|
||||||
return platform == settings.thisSystem
|
return string(drv.builder, 0, 8) == "builtin:";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static bool canBuildLocally(const BasicDerivation & drv)
|
||||||
|
{
|
||||||
|
return drv.platform == settings.thisSystem
|
||||||
|
|| isBuiltin(drv)
|
||||||
#if __linux__
|
#if __linux__
|
||||||
|| (platform == "i686-linux" && settings.thisSystem == "x86_64-linux")
|
|| (drv.platform == "i686-linux" && settings.thisSystem == "x86_64-linux")
|
||||||
|| (platform == "armv6l-linux" && settings.thisSystem == "armv7l-linux")
|
|| (drv.platform == "armv6l-linux" && settings.thisSystem == "armv7l-linux")
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -1266,7 +1273,7 @@ static string get(const StringPairs & map, const string & key, const string & de
|
||||||
|
|
||||||
bool willBuildLocally(const BasicDerivation & drv)
|
bool willBuildLocally(const BasicDerivation & drv)
|
||||||
{
|
{
|
||||||
return get(drv.env, "preferLocalBuild") == "1" && canBuildLocally(drv.platform);
|
return get(drv.env, "preferLocalBuild") == "1" && canBuildLocally(drv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1276,12 +1283,6 @@ bool substitutesAllowed(const BasicDerivation & drv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool isBuiltin(const BasicDerivation & drv)
|
|
||||||
{
|
|
||||||
return string(drv.builder, 0, 8) == "builtin:";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void DerivationGoal::tryToBuild()
|
void DerivationGoal::tryToBuild()
|
||||||
{
|
{
|
||||||
trace("trying to build");
|
trace("trying to build");
|
||||||
|
@ -1683,7 +1684,7 @@ void DerivationGoal::startBuilder()
|
||||||
"building path(s) %1%") % showPaths(missingPaths));
|
"building path(s) %1%") % showPaths(missingPaths));
|
||||||
|
|
||||||
/* Right platform? */
|
/* Right platform? */
|
||||||
if (!canBuildLocally(drv->platform)) {
|
if (!canBuildLocally(*drv)) {
|
||||||
if (settings.printBuildTrace)
|
if (settings.printBuildTrace)
|
||||||
printMsg(lvlError, format("@ unsupported-platform %1% %2%") % drvPath % drv->platform);
|
printMsg(lvlError, format("@ unsupported-platform %1% %2%") % drvPath % drv->platform);
|
||||||
throw Error(
|
throw Error(
|
||||||
|
|
Loading…
Reference in a new issue