From 25d32e1d5d4925cbf91a01fb9ac709d760814f86 Mon Sep 17 00:00:00 2001 From: Edward Amsden Date: Sun, 26 Sep 2021 15:26:48 -0400 Subject: [PATCH] nix: fix broken symlinks in arvo and ropsten-patched arvo --- default.nix | 2 ++ nix/pkgs/arvo/default.nix | 37 +++++-------------------- nix/pkgs/marsSources/default.nix | 46 ++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 31 deletions(-) create mode 100644 nix/pkgs/marsSources/default.nix diff --git a/default.nix b/default.nix index 9526a5e530..fa87f60d6d 100644 --- a/default.nix +++ b/default.nix @@ -114,6 +114,8 @@ let solid = callPackage ./nix/pkgs/pill/solid.nix { }; + marsSources = callPackage ./nix/pkgs/marsSources { }; + urbit = callPackage ./nix/pkgs/urbit { inherit enableStatic; }; docker-image = callPackage ./nix/pkgs/docker-image { }; diff --git a/nix/pkgs/arvo/default.nix b/nix/pkgs/arvo/default.nix index c9204a01fa..9d9d108069 100644 --- a/nix/pkgs/arvo/default.nix +++ b/nix/pkgs/arvo/default.nix @@ -1,46 +1,21 @@ -{ lib, stdenvNoCC, bc }: +{ lib, stdenvNoCC, marsSources }: stdenvNoCC.mkDerivation { name = "arvo"; - src = lib.cleanSource ../../../pkg/arvo; - buildInputs = [ bc ]; + src = marsSources; outputs = [ "out" "ropsten" ]; phases = [ "mainnetPhase" "ropstenPhase" ]; mainnetPhase = '' - cp -r $src/ $out - chmod -R u+w $out - ''; + ln -s ${marsSources.out}/arvo $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 - ''; + ln -s ${marsSources.ropsten}/arvo $ropsten + ''; preferLocalBuild = true; } diff --git a/nix/pkgs/marsSources/default.nix b/nix/pkgs/marsSources/default.nix new file mode 100644 index 0000000000..80bbf303b5 --- /dev/null +++ b/nix/pkgs/marsSources/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenvNoCC, bc }: + +stdenvNoCC.mkDerivation { + name = "sources"; + src = lib.cleanSource ../../../pkg; + + 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/arvo/sys/zuse.hoon + AMES=tmp/arvo/sys/vane/ames.hoon + ACME=tmp/arvo/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; +}