mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 19:21:13 +00:00
Update the nix build configuration. (#13706)
* Update the nix build configuration. Remove the old shell.nix with some legacy versions pinned and replace it with a flake-based shell. It installs rust via rustup instead of fenix to be more generally compatible with the guidelines. This also adds the rust-toolchain.toml spec with all the components required for wasm, and everything else to make rust-analyzer & clippy happy. * Also add the top level flake for hacking on the substrate as whole * Remove the envrc and ignore it instead. * Remove the top-level configuration --------- Co-authored-by: parity-processbot <>
This commit is contained in:
committed by
GitHub
parent
613420a035
commit
4e892439ab
@@ -26,3 +26,5 @@ rls*.log
|
||||
*.iml
|
||||
bin/node-template/Cargo.lock
|
||||
substrate.code-workspace
|
||||
.direnv/
|
||||
/.envrc
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
use flake
|
||||
@@ -153,8 +153,10 @@ Instead of installing dependencies and building this source directly, consider t
|
||||
|
||||
### Nix
|
||||
|
||||
Install [nix](https://nixos.org/), and optionally [direnv](https://github.com/direnv/direnv) and [lorri](https://github.com/nix-community/lorri) for a fully plug-and-play experience for setting up the development environment.
|
||||
To get all the correct dependencies, activate direnv `direnv allow` and lorri `lorri shell`.
|
||||
Install [nix](https://nixos.org/) and
|
||||
[nix-direnv](https://github.com/nix-community/nix-direnv) for a fully plug-and-play
|
||||
experience for setting up the development environment.
|
||||
To get all the correct dependencies, activate direnv `direnv allow`.
|
||||
|
||||
### Docker
|
||||
|
||||
|
||||
Generated
+43
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1678901627,
|
||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1679262748,
|
||||
"narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
in
|
||||
{
|
||||
devShells.default = pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
rustup
|
||||
clang
|
||||
protobuf
|
||||
];
|
||||
|
||||
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
|
||||
};
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
[toolchain]
|
||||
channel = "nightly"
|
||||
components = [
|
||||
"cargo",
|
||||
"clippy",
|
||||
"rust-analyzer",
|
||||
"rust-src",
|
||||
"rust-std",
|
||||
"rustc-dev",
|
||||
"rustc",
|
||||
"rustfmt",
|
||||
]
|
||||
targets = [ "wasm32-unknown-unknown" ]
|
||||
profile = "minimal"
|
||||
@@ -1,35 +0,0 @@
|
||||
let
|
||||
mozillaOverlay =
|
||||
import (builtins.fetchGit {
|
||||
url = "https://github.com/mozilla/nixpkgs-mozilla.git";
|
||||
rev = "57c8084c7ef41366993909c20491e359bbb90f54";
|
||||
});
|
||||
pinned = builtins.fetchGit {
|
||||
# Descriptive name to make the store path easier to identify
|
||||
url = "https://github.com/nixos/nixpkgs/";
|
||||
# Commit hash for nixos-unstable as of 2020-04-26
|
||||
# `git ls-remote https://github.com/nixos/nixpkgs nixos-unstable`
|
||||
ref = "refs/heads/nixos-unstable";
|
||||
rev = "1fe6ed37fd9beb92afe90671c0c2a662a03463dd";
|
||||
};
|
||||
nixpkgs = import pinned { overlays = [ mozillaOverlay ]; };
|
||||
toolchain = with nixpkgs; (rustChannelOf { date = "2021-09-14"; channel = "nightly"; });
|
||||
rust-wasm = toolchain.rust.override {
|
||||
targets = [ "wasm32-unknown-unknown" ];
|
||||
};
|
||||
in
|
||||
with nixpkgs; pkgs.mkShell {
|
||||
buildInputs = [
|
||||
clang
|
||||
pkg-config
|
||||
rust-wasm
|
||||
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||
PROTOC = "${protobuf}/bin/protoc";
|
||||
RUST_SRC_PATH = "${toolchain.rust-src}/lib/rustlib/src/rust/library/";
|
||||
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user