From 36b296609b0d4db633f78a6fa3685f61227af94a Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 10 Apr 2024 14:54:11 +0300 Subject: refactor(tvix/nix-compat): reorganize wire and bytes Move everything bytes-related into its own module, and re-export both bytes and primitive in a flat space from wire/mod.rs. Expose this if a `wire` feature flag is set. We only have `async` stuff in here. Change-Id: Ia4ce4791f13a5759901cc9d6ce6bd6bbcca587c7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11389 Autosubmit: flokli Reviewed-by: raitobezarius Tested-by: BuildkiteCI Reviewed-by: Brian Olsen --- users/picnoir/tvix-daemon/Cargo.nix | 52 +++++++++++++------------------------ 1 file changed, 18 insertions(+), 34 deletions(-) (limited to 'users/picnoir/tvix-daemon/Cargo.nix') diff --git a/users/picnoir/tvix-daemon/Cargo.nix b/users/picnoir/tvix-daemon/Cargo.nix index 8dc9b54175..d73a65c821 100644 --- a/users/picnoir/tvix-daemon/Cargo.nix +++ b/users/picnoir/tvix-daemon/Cargo.nix @@ -1,5 +1,5 @@ -# This file was @generated by crate2nix 0.12.0 with the command: -# "generate" +# This file was @generated by crate2nix 0.13.0 with the command: +# "generate" "--all-features" # See https://github.com/kolloch/crate2nix for more info. { nixpkgs ? @@ -1386,16 +1386,6 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "std" ]; }; - "futures-io" = rec { - crateName = "futures-io"; - version = "0.3.30"; - edition = "2018"; - sha256 = "1hgh25isvsr4ybibywhr4dpys8mjnscw4wfxxwca70cn1gi26im4"; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; "futures-macro" = rec { crateName = "futures-macro"; version = "0.3.30"; @@ -1452,13 +1442,6 @@ rec { packageId = "futures-core"; usesDefaultFeatures = false; } - { - name = "futures-io"; - packageId = "futures-io"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } { name = "futures-macro"; packageId = "futures-macro"; @@ -1470,11 +1453,6 @@ rec { packageId = "futures-task"; usesDefaultFeatures = false; } - { - name = "memchr"; - packageId = "memchr"; - optional = true; - } { name = "pin-project-lite"; packageId = "pin-project-lite"; @@ -1511,7 +1489,7 @@ rec { "unstable" = [ "futures-core/unstable" "futures-task/unstable" ]; "write-all-vectored" = [ "io" ]; }; - resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "default" "futures-io" "futures-macro" "io" "memchr" "slab" "std" ]; + resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "default" "futures-macro" "slab" "std" ]; }; "generic-array" = rec { crateName = "generic-array"; @@ -2340,12 +2318,6 @@ rec { name = "enum-primitive-derive"; packageId = "enum-primitive-derive"; } - { - name = "futures-util"; - packageId = "futures-util"; - optional = true; - features = [ "io" ]; - } { name = "glob"; packageId = "glob"; @@ -2394,12 +2366,13 @@ rec { } ]; features = { - "async" = [ "futures-util" "tokio" "pin-project-lite" ]; + "async" = [ "futures-util" ]; "futures-util" = [ "dep:futures-util" ]; "pin-project-lite" = [ "dep:pin-project-lite" ]; "tokio" = [ "dep:tokio" ]; + "wire" = [ "tokio" "pin-project-lite" ]; }; - resolvedDefaultFeatures = [ "async" "futures-util" "pin-project-lite" "tokio" ]; + resolvedDefaultFeatures = [ "pin-project-lite" "tokio" "wire" ]; }; "nom" = rec { crateName = "nom"; @@ -4153,7 +4126,7 @@ rec { { name = "nix-compat"; packageId = "nix-compat"; - features = [ "async" ]; + features = [ "wire" ]; } { name = "tokio"; @@ -5193,6 +5166,7 @@ rec { ( _: { buildTests = true; + release = false; } ); # If the user hasn't set any pre/post commands, we don't want to @@ -5217,6 +5191,16 @@ rec { # recreate a file hierarchy as when running tests with cargo # the source for test data + # It's necessary to locate the source in $NIX_BUILD_TOP/source/ + # instead of $NIX_BUILD_TOP/ + # because we compiled those test binaries in the former and not the latter. + # So all paths will expect source tree to be there and not in the build top directly. + # For example: $NIX_BUILD_TOP := /build in general, if you ask yourself. + # TODO(raitobezarius): I believe there could be more edge cases if `crate.sourceRoot` + # do exist but it's very hard to reason about them, so let's wait until the first bug report. + mkdir -p source/ + cd source/ + ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${crate.src} # build outputs -- cgit 1.4.1