mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 18:31:44 +03:00
ce3cbf0857
This also removes nixcrpkgs and OSX cross compilation in favour of compiling on the target. x86_64/musl targets are still supported on Linux. All sources are now managed via niv (see nix/sources.json) and Haskell package sets are provided/organised via IOHK's haskell.nix. Some effort has been made to expose similar top-level attributes for development, but in some cases there have been changes. Please see the comments in the top-level default.nix and ci.nix files for usage.
47 lines
1.0 KiB
Nix
47 lines
1.0 KiB
Nix
{ lib, stdenvNoCC, bc }:
|
|
|
|
stdenvNoCC.mkDerivation {
|
|
name = "arvo";
|
|
src = lib.cleanSource ../../../pkg/arvo;
|
|
|
|
buildInputs = [ bc ];
|
|
|
|
outputs = [ "out" "ropsten" ];
|
|
|
|
phases = [ "mainnetPhase" "ropstenPhase" ];
|
|
|
|
mainnetPhase = ''
|
|
cp -r $src/ $out
|
|
chmod -R u+w $out
|
|
'';
|
|
|
|
ropstenPhase = ''
|
|
cp -r $src tmp
|
|
chmod -R u+w tmp
|
|
|
|
ZUSE=tmp/sys/zuse.hoon
|
|
AMES=tmp/sys/vane/ames.hoon
|
|
ACME=tmp/app/acme.hoon
|
|
|
|
# Replace the mainnet azimuth contract with the ropsten contract
|
|
sed --in-place \
|
|
's/\(\+\+ contracts \)mainnet\-contracts/\1ropsten-contracts/' \
|
|
$ZUSE
|
|
|
|
# Increment the %ames protocol version
|
|
sed -r --in-place \
|
|
's_^(=/ protocol\-version=\?\(.*\) %)([0-7])_echo "\1$(echo "(\2+1) % 8" | bc)"_e' \
|
|
$AMES
|
|
|
|
# Use the staging API in :acme
|
|
sed --in-place \
|
|
's_https://acme-v02.api.letsencrypt.org/directory_https://acme-staging-v02.api.letsencrypt.org/directory_' \
|
|
$ACME
|
|
|
|
cp -r tmp $ropsten
|
|
chmod -R u+w $ropsten
|
|
'';
|
|
|
|
preferLocalBuild = true;
|
|
}
|