CPSEZOSXXT5RILNUJI7LISBNIRQRBCNPJUHEA7PV4RSVQZALTRKQC YAD7524SVEXNAZROAJNCWGU6IDYZKMANLW7UD6IVT64LJVSHZNIAC BCC6USHOPJDG2OCLUAMMIERWNSKNAPY27TXBCA5LY7GSXVWDFUXAC IT5AXPY2VAG2ECQN23UROQCTC4AUN7ZMCBVJC3ZK2CT4MSFSKVUAC GIUGQKVRMT7BMVF5FKCINDJMTLUG6S5TCKDIPY3U76OS74VP3QSQC PJD4HUOJXDAPSY3GBEK2KS6SIBQOQI7U72RLPG2YLVVQWS2FTMUAC CHI2EHBJHXPJI2KUSHOCMFYGOPJNITAMPGOY3UAUV76ELONVYNCAC 5NO7NCKTMM5ZW7JYOETUFOSWK2ACTXWDZGJAFXZN6L3OF6BFTNOQC MVB7RRLTOLZALMUVUNSCMXDB76QLICJAV2GYQQZO7E6S327LHMSQC HXBXDEFK2VLXZIWUXAQ765NHKYQ5FYS43IKMU2DJ755L26TQ6IFQC XHVZXX6NVBQCZQ2GL2AQ6QDIJMERIY6OF74KSTQL67BGXG3TFIXQC LVJKRTIK5WOWWAZ454B4DCCGETOIQJK5TLOWMZVNY2B4AEGF2GMAC BHZXGT2HWAMFNVBUDG7VR5HNA2SUJBUSMWB7EHTECB4QJ5HVYANAC V2YFPM72UMEDEZVWBQT42KSVDALD5PPJXTBZALKH26SR5PKGC42AC LBNVQXUBEZ45SOTGVXK5UEZXIAIZTJLWZNUYFI4JZ6J65N3KPDVQC OD5FSS5AJ3XRTV5Q4UQQF6JMBT6UUL7UUOMPPUBNOM6ZMVIHW35QC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC MT5HGXFPYWJCNIUKNQAD6JJUJL5OYC7NKWUMDUXBRVINUG4KID5QC W3HI52QVYQUEMJDK6TI54WPNDQJOHYD47G45LNMI2YTH6YGKNXNQC HAI5TY47TDWH3KGW6JPMZ3AB4EHJUFLUK7KZCLBOX6INVDQGG56QC IDT3SO3P52TCB4IWV3LYZJ5JLJACNQ26X65VXUTUD227PRE2UZUAC AFNDUSGDI2LSRZICZNFXTCFNIVG6IZCKYR7V3KOTHXYUFUU6AYCAC GEADFVZ5LXXFIE3VIP4UJ4AEI2VX57DXER47JA4IHH5BG3QNPAEAC 2GK5DOU7ODF4WBSN3QTD3WIO52VTL2LOAXKGCDEMMAQPTEO4A4HAC VHV6GI4L2GEV2PV3AEV4C22O3JB4XUS6WPEBFINYD5CJOBMAESAAC UOINKJ2JBCRTZPFTAXDPRJOEUWWPJ43IGVWLRIRLIGHLBMWDOGDQC ON4DDIBZQI34VOYOCVK5EAHYIY6M6JANW7SK4CCJWGIFYK55J2BQC HLYVEJX74DMSDR7VTGSLZCLUKQDZFDIK4FFDV4S27UPBN5JH4KDQC WZ3AEJ67LOG5L335AAC2BDLIJPIU4VSCGBMATBHDZC26ECRS5A6AC # Hack to get downloads to work on binary cache stores: if the# store path is not available locally, then import it into the# local store. FIXME: find a better way; this can require an# unbounded amount of space.if (!isValidPath($storePath)) {my $storeMode = $c->config->{store_mode} // "direct";notFound($c, "File " . $product->path . " has disappeared.")if $storeMode eq "direct";my $url =$storeMode eq "local-binary-cache" ? "file://" . $c->config->{binary_cache_dir} :$storeMode eq "s3-binary-cache" ? "https://" . $c->config->{binary_cache_s3_bucket} . ".s3.amazonaws.com/" :die;my $args = "";if (defined $c->config->{binary_cache_public_key_file}&& -r $c->config->{binary_cache_public_key_file}){$args = "--option binary-cache-public-keys " . read_file($c->config->{binary_cache_public_key_file});}system("nix-store --realise '$storePath' --option extra-binary-caches '$url' $args>/dev/null");}
my $config = getHydraConfig();my $storeUri = $config->{'store_uri'} // "";return grab(cmd => ["nix", "cat-store", "$path"], env => { NIX_REMOTE => "$storeUri" });
return grab(cmd => ["nix", "cat-store", "--store", getStoreUri(), "$path"]);}sub isLocalStore {my $uri = getStoreUri();return $uri =~ "^(local|daemon|auto)";
my $storeMode = $c->config->{store_mode} // "direct";my $channelUri =$storeMode eq "direct" ? $c->uri_for('/'): $storeMode eq "s3-binary-cache" ?($c->config->{binary_cache_public_uri} // ("https://" . $c->config->{binary_cache_s3_bucket} . ".s3.amazonaws.com/")): die "Not supported.\n";
requireLocalStore($c);my $channelUri = $c->uri_for('/');