mirror of
https://github.com/urbit/shrub.git
synced 2024-12-29 23:23:52 +03:00
43 lines
973 B
Nix
43 lines
973 B
Nix
{ lib, stdenvNoCC, fetchGitHubLFS, bootFakeShip, solid, urbit, arvo, curl, xxd
|
|
, withRopsten ? false }:
|
|
|
|
let
|
|
|
|
lfs = fetchGitHubLFS { src = ../../../bin/ivory.pill; };
|
|
|
|
in {
|
|
build = import ./builder.nix {
|
|
inherit stdenvNoCC urbit curl;
|
|
|
|
name = "ivory" + lib.optionalString withRopsten "-ropsten";
|
|
builder = ./ivory.sh;
|
|
arvo = if withRopsten then arvo.ropsten else arvo;
|
|
pier = bootFakeShip {
|
|
inherit urbit;
|
|
|
|
pill = solid.lfs;
|
|
ship = "zod";
|
|
};
|
|
};
|
|
|
|
# The hexdump of the `.lfs` pill contents as a C header.
|
|
header = stdenvNoCC.mkDerivation {
|
|
name = "ivory-header";
|
|
src = lfs;
|
|
nativeBuildInputs = [ xxd ];
|
|
phases = [ "installPhase" ];
|
|
|
|
installPhase = ''
|
|
file=u3_Ivory.pill
|
|
|
|
header "writing $file"
|
|
|
|
mkdir -p $out/include
|
|
cat $src > $file
|
|
xxd -i $file > $out/include/ivory_impl.h
|
|
'';
|
|
|
|
preferLocalBuild = true;
|
|
};
|
|
} // lib.optionalAttrs (!withRopsten) { inherit lfs; }
|