Skip to content

Commit

Permalink
feat: disconnect sdk from the private dfinity repo (dfinity#1797)
Browse files Browse the repository at this point in the history
* wip

* use non builtin fetch for hydra

* use the older versions

* clean up the build script

* remove dfinity from sources
  • Loading branch information
Jude Taylor authored Aug 26, 2021
1 parent f925cbc commit e6b5e6d
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 13 deletions.
6 changes: 4 additions & 2 deletions assets.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ let
exename = "icx-proxy";
usePackager = false;
};
replica-bin = pkgs.sources."replica-${pkgs.system}";
starter-bin = pkgs.sources."ic-starter-${pkgs.system}";
looseBinaryCache = pkgs.runCommandNoCCLocal "loose-binary-cache" {} ''
mkdir -p $out
cp ${pkgs.dfinity.ic-replica}/bin/replica $out
cp ${pkgs.dfinity.ic-starter}/bin/ic-starter $out
gunzip <${replica-bin} >$out/replica
gunzip <${starter-bin} >$out/ic-starter
cp -R ${pkgs.motoko.base-src} $out/base
cp ${pkgs.motoko.mo-doc}/bin/mo-doc $out
cp ${pkgs.motoko.mo-ide}/bin/mo-ide $out
Expand Down
38 changes: 32 additions & 6 deletions nix/sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,28 @@
"rev": "87104afb2aa76f1cf8f6709328c1a2116f273147",
"type": "git"
},
"dfinity": {
"branch": "master",
"repo": "ssh://[email protected]/dfinity-lab/dfinity",
"rev": "da2e149cbee5f98905e5a0126d0919be12a7c29d",
"type": "git"
},
"ic-ref": {
"branch": "release-0.17",
"repo": "ssh://[email protected]/dfinity-lab/ic-ref",
"rev": "0da8f01f0a4d6fce0a4f2c14ff767789311dbfa2",
"type": "git"
},
"ic-starter-x86_64-darwin": {
"builtin": false,
"rev": "da2e149cbee5f98905e5a0126d0919be12a7c29d",
"sha256": "0hpa0j8gll7bk7rx8jh1y5ad8x5y2pg3bishr1ayi3rardnn2shk",
"type": "file",
"url": "https://download.dfinity.systems/ic/da2e149cbee5f98905e5a0126d0919be12a7c29d/nix-release/x86_64-darwin/ic-starter.gz",
"url_template": "https://download.dfinity.systems/ic/<rev>/nix-release/x86_64-darwin/ic-starter.gz"
},
"ic-starter-x86_64-linux": {
"builtin": false,
"rev": "da2e149cbee5f98905e5a0126d0919be12a7c29d",
"sha256": "1bx2j7kcii4s20i6cn2hlwkg3wbjz9xzhifz39ynsij0q1z03ka5",
"type": "file",
"url": "https://download.dfinity.systems/ic/da2e149cbee5f98905e5a0126d0919be12a7c29d/nix-release/ic-starter.gz",
"url_template": "https://download.dfinity.systems/ic/<rev>/nix-release/ic-starter.gz"
},
"motoko": {
"branch": "release",
"repo": "https://github.com/dfinity/motoko",
Expand All @@ -68,5 +78,21 @@
"type": "tarball",
"url": "https://github.com/nmattia/napalm/archive/4db4f253c78cfa8d8e8defb45dfe25e04409142a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"replica-x86_64-darwin": {
"builtin": false,
"rev": "da2e149cbee5f98905e5a0126d0919be12a7c29d",
"sha256": "0hzx6kivkcyn8cw9qqfy6nhz60akjifnj7zx0dz31p91jmnrbjzs",
"type": "file",
"url": "https://download.dfinity.systems/ic/da2e149cbee5f98905e5a0126d0919be12a7c29d/nix-release/x86_64-darwin/replica.gz",
"url_template": "https://download.dfinity.systems/ic/<rev>/nix-release/x86_64-darwin/replica.gz"
},
"replica-x86_64-linux": {
"builtin": false,
"rev": "da2e149cbee5f98905e5a0126d0919be12a7c29d",
"sha256": "0xlqbvw9yz88wc8xd1kndsvx477ijq6shy52z44lwbrj6g2w7bzl",
"type": "file",
"url": "https://download.dfinity.systems/ic/da2e149cbee5f98905e5a0126d0919be12a7c29d/nix-release/replica.gz",
"url_template": "https://download.dfinity.systems/ic/<rev>/nix-release/replica.gz"
}
}
35 changes: 30 additions & 5 deletions src/dfx/assets/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,40 @@ use flate2::Compression;
use std::env;
use std::fs::File;
use std::io::Write;
use std::path::Path;
use std::path::{Path, PathBuf};
use std::process::Command;

fn find_assets() -> PathBuf {
if let Ok(a) = env::var("DFX_ASSETS") {
PathBuf::from(a)
} else {
let assets_nix = PathBuf::from(format!("{}/../../assets.nix", env!("CARGO_MANIFEST_DIR")))
.canonicalize()
.expect("assets.nix doesn't exist!");
eprintln!("cargo:rerun-if-changed={}", assets_nix.display());
let assets = Command::new("nix-build")
.arg("--no-out-link")
.arg(assets_nix)
.output()
.expect("unable to run local nix-build");
if !assets.status.success() {
eprintln!("cargo:warning=unable to run nix-build:");
eprintln!("cargo:warning={}", String::from_utf8_lossy(&assets.stderr));
std::process::exit(1)
}
let path = String::from_utf8_lossy(&assets.stdout)
.trim_end()
.to_string();
env::set_var("DFX_ASSETS", &path);
PathBuf::from(path)
}
}

fn add_asset_archive(fn_name: &str, f: &mut File) {
let filename_tgz = format!("{}.tgz", fn_name);

let path = env::var("DFX_ASSETS").expect("Cannot find DFX_ASSETS");
let prebuilt_file = Path::new(&path).join(&filename_tgz);
let assets_path = find_assets();
let prebuilt_file = assets_path.join(&filename_tgz);

let out_dir = env::var("OUT_DIR").unwrap();
let tgz_path = Path::new(&out_dir).join(&filename_tgz);
Expand Down Expand Up @@ -56,8 +83,6 @@ fn write_archive_accessor(fn_name: &str, f: &mut File) {
}

fn get_git_hash() -> Option<String> {
use std::process::Command;

let describe = Command::new("git").arg("describe").arg("--dirty").output();

if let Ok(output) = describe {
Expand Down

0 comments on commit e6b5e6d

Please sign in to comment.