update conda channels

This commit is contained in:
DavHau 2021-06-08 19:16:14 +07:00
parent 31a8867249
commit 573bfe16e8
2 changed files with 30 additions and 16 deletions

View file

@ -1,8 +1,8 @@
{
"url": "https://github.com/davhau/conda-channels",
"rev": "25d1eb5b42719e51821a043a6504c792400f23b4",
"rev": "21371cb199615f3e3ff468fe8c756e30fe74ce45",
"date": "2020-11-20T14:00:42+00:00",
"sha256": "10jvzmbqkcy4706zsb4gva1d1z7vin7azarjia1jrxfxappw6gng",
"sha256": "",
"fetchSubmodules": false,
"indexSha256": "1rb24vvniw2ryz7fjwk1ra852k9gg9f9i65gis03w9jyxgprpwj1"
"indexSha256": "0grj7v376cwszqcb53dmbgbj53wmi5pzvxrcifmxmmh6r845bid7"
}

View file

@ -32,25 +32,39 @@ let
sha256 = condaDataSha256;
}));
registryChannels = mapAttrs' (filepath: hash:
registryChannels = foldl' (a: b: recursiveUpdate a b) {} (mapAttrsToList (path: sha256:
let
split = splitString "/" filepath;
split = splitString "/" path;
chan = elemAt split 1;
sys = removeSuffix ".json" (tail split);
in
nameValuePair
chan
(map (sys: (builtins.fetchurl {
url = "https://raw.githubusercontent.com/${repoOwner}/${repoName}/${condaDataRev}/${chan}/${sys}.json";
sha256 = channelRegistry."./${chan}/${sys}.json";
})) [ systemMap."${system}" "noarch" ])
) channelRegistry;
file = last split;
sys = head (splitString "." file);
part = elemAt (splitString "." file) 1;
in {
"${chan}" = {
"${sys}" = {
"${part}" = sha256;
};
};
}
) channelRegistry);
_registryChannels = filterAttrs (chan: json: elem chan usedChannels) registryChannels;
channelFiles = chan: flatten (forEach [ systemMap."${system}" "noarch" ] (sys:
if registryChannels ? "${chan}"."${sys}" then
mapAttrsToList (part: sha256: builtins.fetchurl {
url = "https://raw.githubusercontent.com/${repoOwner}/${repoName}/${condaDataRev}/channels/${chan}/${sys}.${part}.json";
sha256 = channelRegistry."channels/${chan}/${sys}.${part}.json";
}) registryChannels."${chan}"."${sys}"
else
[]
));
_selectedRegistryChannels =
genAttrs usedChannels (chan: channelFiles chan);
_condaChannelsExtra = filterAttrs (chan: json: elem chan usedChannels) condaChannelsExtra;
allCondaChannels = (_registryChannels // _condaChannelsExtra);
allCondaChannels = (_selectedRegistryChannels // _condaChannelsExtra);
condaChannelsJson = pkgs.writeText "conda-channels.json" (toJSON allCondaChannels);