1
0
Fork 0
genode-depot/flake.nix

47 Zeilen
1.5 KiB
Nix

{
description = "Cache of pre-built Genode binaries";
edition = 201909;
outputs = { self, nixpkgs }:
let
unpack = baseUrl:
{ name, value }: {
inherit name;
value = nixpkgs.legacyPackages.x86_64-linux.stdenvNoCC.mkDerivation {
pname = name;
inherit (value) version;
preferLocalBuild = true;
src = nixpkgs.legacyPackages.x86_64-linux.fetchurl {
url = "${baseUrl}${name}/${value.version}.tar.xz";
inherit (value) sha256;
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
find . -type f | while read FILE; do
case $FILE in
*.a | *.o) install -Dm444 -t $out/lib $FILE;;
*.so) install -Dm555 -t $out/lib $FILE;;
*.tar) install -Dm444 -t $out/tar $FILE;;
*) install -Dm555 -t $out/bin $FILE;;
esac
done
'';
meta = {
license = [ "LicenseRef-Genode" ];
downloadPage = "${baseUrl}${name}/";
};
};
};
expand = baseUrl: listing:
builtins.listToAttrs (map (unpack baseUrl) listing);
base = expand "http://depot.hq.c3d2.de/user/bin/x86_64/"
(import ./base-list.nix);
genodelabs = expand "http://depot.genode.org/genodelabs/bin/x86_64/"
(import ./genodelabs-list.nix);
in { packages.x86_64-genode = base // genodelabs; };
}