diff options
author | Florian Klink <flokli@flokli.de> | 2024-01-18T09·24+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-01-18T15·02+0000 |
commit | 4497ac41ab63a24499e796ff5f50ff79970c5727 (patch) | |
tree | 5bb952ff9b34b561d089a675e73ab0e746161262 | |
parent | 93afc711f65784ed258834613937ca5177201a82 (diff) |
refactor(tools): move crate2nix generate here r/7413
Having something running the depot crate2nix and formatting it with depotfmt is useful outside of tvix too. Change-Id: Iecc8f207da38cc6995747c5ea48d3911433fd416 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10658 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
-rw-r--r-- | tools/crate2nix-generate.nix | 8 | ||||
-rw-r--r-- | tvix/README.md | 2 | ||||
-rw-r--r-- | tvix/default.nix | 11 |
3 files changed, 11 insertions, 10 deletions
diff --git a/tools/crate2nix-generate.nix b/tools/crate2nix-generate.nix new file mode 100644 index 000000000000..a627588ae34b --- /dev/null +++ b/tools/crate2nix-generate.nix @@ -0,0 +1,8 @@ +{ pkgs, depot, ... }: + +# Run crate2nix generate in the current working directory, then +# format the generated file with depotfmt. +pkgs.writeShellScriptBin "crate2nix-generate" '' + ${pkgs.crate2nix}/bin/crate2nix generate --all-features + ${depot.tools.depotfmt}/bin/depotfmt Cargo.nix +'' diff --git a/tvix/README.md b/tvix/README.md index 6584f6c2eb0e..e95b71bfaf65 100644 --- a/tvix/README.md +++ b/tvix/README.md @@ -90,7 +90,7 @@ configuration. When making changes to Cargo dependency configuration in any of the Rust projects under `//tvix`, be sure to run -`mg run //tvix:crate2nix-generate` in `//tvix` itself and commit the changes +`mg run //tools:crate2nix-generate` in `//tvix` itself and commit the changes to the generated `Cargo.nix` file. This only applies to the full TVL checkout. ## License structure diff --git a/tvix/default.nix b/tvix/default.nix index dc1d4015b10d..9080a85a2dc0 100644 --- a/tvix/default.nix +++ b/tvix/default.nix @@ -88,13 +88,6 @@ let # The cleaned sources. src = depot.third_party.gitignoreSource ./.; - # Run crate2nix generate in the current working directory, then - # format the generated file with depotfmt. - crate2nix-generate = pkgs.writeShellScriptBin "crate2nix-generate" '' - ${pkgs.crate2nix}/bin/crate2nix generate --all-features - ${depot.tools.depotfmt}/bin/depotfmt Cargo.nix - ''; - # Target containing *all* tvix proto files. # Useful for workspace-wide cargo invocations (doc, clippy) protos = pkgs.symlinkJoin { @@ -108,7 +101,7 @@ let in { - inherit crates crate2nix-generate protos; + inherit crates protos; # Run crate2nix generate, ensure the output doesn't differ afterwards # (and doesn't fail). @@ -145,7 +138,7 @@ in # running this command counteracts depotfmt brokenness git init - ${crate2nix-generate}/bin/crate2nix-generate + ${depot.tools.crate2nix-generate}/bin/crate2nix-generate # technically unnecessary, but provides more-helpful output in case of error diff -ur Cargo.nix ${src}/Cargo.nix |