unixtools: Utilize meta.platforms

This commit is contained in:
John Ericson 2018-03-27 20:26:10 -04:00
parent 49455d7bae
commit 52f4be2c1f

View File

@ -12,19 +12,20 @@
let let
singleBinary = cmd: providers: singleBinary = cmd: providers: let
if builtins.hasAttr hostPlatform.parsed.kernel.name providers then provider = "${providers.${hostPlatform.parsed.kernel.name} or "missing-package"}/bin/${cmd}";
runCommand cmd {} '' in runCommand cmd {
mkdir -p $out/bin meta.platforms = map (n: { kernel.name = n; }) (pkgs.lib.attrNames providers);
} ''
mkdir -p $out/bin
if ! [ -x "${providers.${hostPlatform.parsed.kernel.name}}/bin/${cmd}" ]; then if ! [ -x "${provider}" ]; then
echo "Cannot find command ${cmd}" echo "Cannot find command ${cmd}"
exit 1 exit 1
fi fi
ln -s ${providers.${hostPlatform.parsed.kernel.name}}/bin/${cmd} $out/bin/${cmd} ln -s "${provider}" "$out/bin/${cmd}"
'' '';
else throw "${hostPlatform.parsed.kernel.name} does not have ${cmd}";
in rec { in rec {